0

私はMVC4 jQueryに取り組んでいます。anchorタグの下にあるボタンIDを見つける必要があります。ここに私のjQueryコードがあります:

// drop event handler
addEvent(dropAreas, 'drop', function (event) {
    alert(5);
    if (event.preventDefault) event.preventDefault();

    // get dropped object
    var iObj = event.dataTransfer.getData('obj_id');
    var oldObj = document.getElementById(iObj);

    // get inner text
    var linkText = oldObj.innerHTML;
    oldObj.className += 'hidden';

    // remove object from DOM
    oldObj.parentNode.removeChild(oldObj);

    // add similar object in another place
    this.innerHTML += '<a id="' + iObj + '" draggable="true">' + linkText + '<button id="btnAdd " style="height:20px;width:20px;">Add</button></a>';

    // and update event handlers
    updateHandlerDrag();

    this.style.borderColor = "#ccc";
    return false;
});

この行では、上記のコードでボタンを定義します。

 this.innerHTML += '<a id="' + iObj + '" draggable="true">' + linkText + '<button id="btnAdd " style="height:20px;width:20px;">Add</button></a>';

上記のコードでは、アンカー タグに 1 つのボタンを指定しました。以下のコードでその ID を起動する必要があります。

// add SubMenu
var addColBtn = document.querySelectorAll('#btnAdd ');
addEvent(addColBtn, 'click', function (event) {
    alert('addingSubmenu');

    if (event.preventDefault) event.preventDefault();
    alert('adding');
    // recalculate widths for columns
    var oCols = document.querySelector('div.columns');
    alert(sub);
    var iChilds = oCols.childElementCount + 1;
    var dWidth = 50 / iChilds;

    // add single column
    oCols.innerHTML += '<div class="columns" id="drop_' + (iChilds + 1) + '" droppable="true"><img src="images/delete.png" onclick="removeColumn(this)" /></div>';

    // set new widths
    for (var i = 0; i < iChilds; i++) {
        oCols.children[i].style.width = dWidth + '%';
    }

    // update handlers
    updateHandlerDrop();

    return false;
});

これどうやってするの?

4

2 に答える 2

0
     $('a').click(function(){
       console.log( $(this).find('button').attr('id'))
     });
于 2012-10-23T10:04:42.117 に答える
0

まず、このコード行で何をしようとしていますか???

this.innerHTML += '<a id="' + iObj + '" draggable="true">' + linkText + '<button id="btnAdd " style="height:20px;width:20px;">Add</button></a>'; 

次のようなマークアップ(フィドルリンク)の上のhtml文字列にいくつかの値を入力すると、準備が整います....

<a id="someId" draggable="true">SomeText<button id="btnAdd " style="height:20px;width:20px;">Add</button></a>​

あなたがここで何をしようとしても...あなたは間違った方法でやっています。アンカー タグ内にボタンを挿入するのは完全に間違っています。

次に、jquery を使用してボタン/アンカー タグを取得するには、次のような jquery セレクターを使用できます。

var selectedItem = $("#uniqueIdGoesHere");

クリックイベントをトリガーするには、これを書くことができます

$("#uniqueIdGoesHere").bind("click", function(){
  // write here what needs to be triggered.
});
于 2012-10-23T10:06:18.573 に答える