Javascript 设置通配符值
下面是我的代码。我需要将Javascript 设置通配符值,javascript,jquery,wildcard,Javascript,Jquery,Wildcard,下面是我的代码。我需要将*作为通配符,这样任何数字都可以代替它。有什么想法吗 $('body').on('click', '.custom_295_*-row', function(){ var href = "https://randomsite.co.uk/forms/mortgage-club-proc-fees"; popup(href, '', 600, 600); }) 我将直接向对象添加单击处理程序: $("*[class^=custom_295_][class$=-ro
*
作为通配符,这样任何数字都可以代替它。有什么想法吗
$('body').on('click', '.custom_295_*-row', function(){
var href = "https://randomsite.co.uk/forms/mortgage-club-proc-fees";
popup(href, '', 600, 600);
})
我将直接向对象添加单击处理程序:
$("*[class^=custom_295_][class$=-row]").on('click', e => {
console.log(e);
})
如果不希望这样,可以在处理程序中检查元素类,如下所示:
$("body").on("click", (e) => {
console.log("now check the class with a RE", e.target.className);
if (e.target.className.match(/^custom_295_(.*)-row$/)) {
console.log("now do something..");
}
})
jQuery中没有通配符选择器。您可能会使用“attribute start with”和“attribute end with”选择器,但如果元素上有多个类,则这很容易被破坏。最好的解决方案是在每个元素上放置相同的类,而不必担心通配符。特别是考虑到通配符中的值对事件处理程序中的逻辑没有任何影响。您可以使用
'[class^=custom_295.][class$=-row]
。但是,您最好将同一个类添加到每个元素中。@Rorymcrossan-嗨,伙计们,不幸的是,我不能确定这些行是从CRM系统生成的。如何将类分配给所有行。我以前尝试过[class^=custom_295][class$=-row],但它不起作用。如何为所有行分配类
修改CRM使用的模板。或者,您可以根据元素的祖先来选择元素,但如果不查看HTML@Moe,你能提供一个标记样本吗?这将有助于找到一个实际的解决方案。我以前尝试过[class^=custom_295_][class$=-row],但它不起作用
1)我不是OP.2)只有当custom_295_*-row
类是元素上唯一的类时,这才起作用。很明显,这不是为了OP,因为它不起作用。3) 你的第二个例子似乎是半个答案。如何准确地过滤类名
,以匹配您要查找的值?添加了一个JSFIDLE来说明它是否有效,并说明了如何使用re来测试类名。是的,第一个示例仅当类是元素上唯一的类时才有效。当然,否则可以使用*=。