我正在研究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>';
在上面的代码中,我在锚标记中给出了一个按钮,我需要在下面的代码中触发该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;
});
我该怎么做?
答案 0 :(得分:0)
$('a').click(function(){
console.log( $(this).find('button').attr('id'))
});
答案 1 :(得分:0)
首先,你想用这行代码做什么???
this.innerHTML += '<a id="' + iObj + '" draggable="true">' + linkText + '<button id="btnAdd " style="height:20px;width:20px;">Add</button></a>';
如果我在标记(fiddle link)上方的html字符串中填写了一些值,则会准备以下内容....
<a id="someId" draggable="true">SomeText<button id="btnAdd " style="height:20px;width:20px;">Add</button></a>
无论你在这里尝试什么......你都是以 错误 的方式做到这一点。在锚标记内插入一个按钮是完全错误的!
其次,要使用jquery获取button / anchor标记,可以使用jquery选择器,例如
var selectedItem = $("#uniqueIdGoesHere");
并触发点击事件,你可以写这个
$("#uniqueIdGoesHere").bind("click", function(){
// write here what needs to be triggered.
});