我有这个代码:
var element= document.getElementsByRegex('^signalo-.*');
$(document).on( 'click', element, function(){
alert($(this).attr('id'))
} );
我有未知数量的带有
id
的按钮,所有按钮都以 "signalo-"
开头,后面还有一个数字,例如 signalo-1
、 signalo-2
....正如您在我的代码示例中看到的,我知道如何为页面上动态生成的元素绑定(bind)事件,但这里的问题是,对于事件绑定(bind),您必须将特定选择器作为第二个参数传递,这让我有点困惑。
我知道如何在纯 javascript 和 jQuery 中使用通配符,我知道如何将事件绑定(bind)到动态内容,但我不知道如何将它们组合在一起。
任何人都可以帮忙吗?
最佳答案
您可以使用 jQuery 的“属性以”选择器来实现:
$(document).on('click', '[id^="signalo-"]', function() {
console.log($(this).prop('id'))
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="signalo-1">signalo-1</div>
<div id="signalo-2">signalo-2</div>
<div id="notsignalo-1">notsignalo-1</div>
<div id="signalo-3">signalo-3</div>