我希望此代码在点击时通过<a>
名称显示id
元素class
的提醒。出于某种原因,我总是得到tuto1
警报。有什么问题?
$(document).ready(function() {
$(".viewID").click(function() {
alert($('.viewID').attr('id'));
});
});
<ul>
<li><a id="tuto1" class="viewID">Dolor irure velit commodo cillum sit nu</a>
</li>
<li><a id="tuto2" class="viewID">Text, text and more text</a>
</li>
<li><a id="tuto3" class="viewID">consequat occaecat fugiat in adipisicing</a>
</li>
</ul>
答案 0 :(得分:3)
这是因为您正在访问jQuery对象中第一个元素的id
。
使用$(this)
访问点击的元素:
$(".viewID").on('click', function () {
alert($(this).attr('id'));
});
使用id
访问thid.id
更简单:
$(".viewID").on('click', function () {
alert(this.id);
});
Array.prototype.forEach.call(document.querySelectorAll('.viewID'), function (el) {
el.addEventListener('click', function () {
alert(this.id);
});
});
答案 1 :(得分:2)
作为替代方案,您可以使用:
<button id="1" onClick="reply_click(this.id)">B1</button>
保存jquery部分。
JS提醒ID:
function reply_click(clicked_id)
{
alert(clicked_id);
}
干杯,
的Valentin
答案 2 :(得分:0)
同样,你可以这样做:
<button id="btnId1234" class="btnClass123" onClick="reply_click(this.id, this.className)">Click Me</button>
function reply_click(cid, cclass)
{
console.log(cid);
console.log(cclass);
}