在这里需要我的 jquery 一点帮助
我希望所有名称以“my-”开头并以“-press”结尾的按钮都有一个“click”事件。
<input type="button" id="my-button-x-press" name="my-button-x-name-press" />
动态添加到 DOM 的按钮应该具有相同的事件。
在这里需要我的 jquery 一点帮助
我希望所有名称以“my-”开头并以“-press”结尾的按钮都有一个“click”事件。
<input type="button" id="my-button-x-press" name="my-button-x-name-press" />
动态添加到 DOM 的按钮应该具有相同的事件。
http://api.jquery.com/category/selectors/
$('input[type=button][name^=my-][name$=-press]').click(function() {
// code
})
要动态地将事件分配给元素,请使用on
http://api.jquery.com/on/并提供您的选择器作为正确delegate
事件的第二个参数。
$('#container').on('click', 'input[type=button][name^=my-][name$=-press]', function() {
// code
})
假设您将输入包装在 上#container
,否则替换#container
为body
,但始终最好选择最接近的祖先selector
您可以使用属性 equals selector,属性以 selector 开头,属性以 selector结尾,以及委托方法来捕获稍后添加的元素的事件:
$('body').delegate('input[type=button][name^="my-"][name$="-press"]', 'click', function(){
...
});
给他们上一堂课,然后做:
$('.classname').click(function(){etc.});
你可以这样做
$('#my-'+dunamic_change_here+'-press').click(function(){
// your code
});
在我的头顶上:
$('input[name^="my-"]input[name$="-press"]').click(function(){
//Stuff to happen.
});
如果它们被动态添加到 dom 中:
$('input[name^="my-"]input[name$="-press"]').on('click', function(){
//Stuff to happen.
});
Matpols 的答案可能是最简单的方法。