我想知道以下是否可行。
让我们说我需要的东西是所有这些东西的组合。 (就此而言,它必须是一个选择器,不能区分上述之一。
例如当我有类似的东西时:
<input name="whatever" my_custom_trigger="my_identifier">
或
<div id="thisid" class="thisclass" my_custom_trigger="my_identifier">output</div>
我需要分配例如.click到[my_custom_trigger] 因为触发器将分配给所有类型的html项目 (div,输入,跨度或任何需要的东西)
基本上我会有像
这样的东西$("my_custom_trigger=>my_identifier").click(function(){
//rest of code
});
这可能吗?
@mods:对不起,如果之前已经处理过,但我发现很难搜索这个问题,因为我不知道用于查找相同问题的关键字!
答案 0 :(得分:3)
您正在寻找这样的语法
$("[my_custom_trigger='my_identifier']").first().click(function(){
//rest of code
});
但是使用数据 - 我的自定义触发器作为HTML5标准的属性名称需要数据 - 在所有自定义属性之前。
答案 1 :(得分:0)
如果您的属性可以使用[attribute='value']
选择器:
$("[my_custom_trigger='my_identifier']").click(function(){
//rest of code
});
但是这将搜索DOM中的每个元素,开始时不会那么快,而且它不是有效的html标记,如果你使用的是HTML5,你可以在data-attributename
中使用它(并更改属性名称)无论你想要什么,并以这种方式绑定事件,但你应该让sizzle更容易找到元素。
答案 2 :(得分:0)
您可以使用以下方法轻松识别自己的选择器:
$('*[my_custom_trigger="my_identifier"]').click(function(){
// do what you wish.
});