我有很多具有相同ID但名称不同的按钮。但我无法在jquery
中获取点击按钮的名称属性值。我在StackOverflow中搜索并得到了很多关于我的问题的建议。但是,我仍然无法解决我的问题。任何人,请帮忙。
我只在这里提供jquery
代码:
<script>
$(document).click('#grant',function(){
$name=$(this).attr("name");
alert($name);
});
</script>
&#13;
这里grant是按钮的id。我想只获取点击按钮的名称attr。我试过this
运算符。但是警告框显示undefined
。
需要帮忙。提前致谢
答案 0 :(得分:0)
您对this
的使用感到困惑。
您应该使用的代码是:
for(var i = 0; i < 100; i++) {
$('#grant' + i).click(function() {
alert($(this).attr('name'));
});
}
此处this
指的是#grant0
到#grant99
元素。
此外,在1个HTML文档中,ID应该是唯一的,并且只能使用一次。请为每个不同的元素分配不同的ID。
答案 1 :(得分:0)
不要对所有元素使用相同的id,在这种情况下使用class。 id use用于唯一标识元素,如名称所示。具有相同id的多个元素不是一个好习惯
$(document).ready(function(){
$(".btn").click(function(){
var name = $(this).attr("name");
alert(name);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button name="button1" class="btn">Button1</button>
<button name="button2" class="btn">Button2</button>
<button name="button3" class="btn">Button3</button>
答案 2 :(得分:0)
您不能拥有多个具有相同ID的元素。你必须使用课程。
$(function(){
$(".grant").click(function(){
$name=$(this).attr("name");
console.log($name);
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button type="button" class="grant anotherclass" name="1">Click Me!</button>
<button type="button" class="grant anotherclass" name="2">Click Me!</button>
<button type="button" class="grant anotherclass" name="3">Click Me!</button>
<button type="button" class="grant anotherclass" name="4">Click Me!</button>
&#13;
如果动态添加按钮,则可以使用on
$("body").on('click', '.grant', function( event ) {
$name=$(this).attr("name");
alert($name);
});