我想设置一个监听器来处理我知道可以完成的按钮点击:
$("#id").click(function() {...});
但我想知道是否有办法让它听取属性而不是ID。因为我想添加自定义属性,例如
<span class="btn btn-primary" button-type="css-change"></span>
我想做点什么
$(document).attr("button-type").equals("css-change").click(function () { ... } );
这是可能的吗?
答案 0 :(得分:3)
使用attribute-equals selector [attribute='value']
$("[button-type='css-change']").click(function() {
alert("clicked");
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<span class="btn btn-primary" button-type="css-change">hi</span>
&#13;
答案 1 :(得分:0)
您可以使用attribute-equals选择器:
$("[button-type='css-change']")
您应该坚持使用data-*
来获取自定义属性以通过验证。
$("[data-type='css-change']")
答案 2 :(得分:0)
答案 3 :(得分:0)
是的,你可以遍历 .btn 类中的所有元素。
<span id="1" class="btn btn-primary" button-type="css-change"></span>
<span id="2" class="btn btn-primary" button-type="test"></span>
<script>
$(".btn").each(function()
{
if($(this).attr("button-type") == "css-change")
{
console.log("The winner is "+$(this).attr("id"));
}
});
</script>
或者还有一种更简单的方法..
$("[button-type='css-change']").each(function(index)
{
$(this).html("hi");
}