我能以某种方式获得以@enable-rounded false;
@import "~bootstrap/scss/bootstrap" /*lots of ways to do this step, see other answers herein*/
开头的所有onclick函数元素吗?
我尝试过:
onclick="tabbed('tabpage...
但是它不起作用。 有任何想法吗?
答案 0 :(得分:2)
您可以使用类名,这是一个很好的方法。但是,如果您需要预期的方式,请尝试以下操作,
document.querySelectorAll("[onclick=\"tabbed('tabpage*')\"]")
答案 1 :(得分:2)
查询选择器中用于检查字符串是否以特定字母开头的部分是^=
。选择器中的*
与您认为的字符不匹配,相反,您需要在onclick
之后输入您希望^=
属性开头的内容:< / p>
const elems = document.querySelectorAll("[onclick^=\"tabbed('tabpage\"]");
console.log(elems.length, 'elements found');
<button onclick="tabbed('tabpage')">A</button>
<button onclick="tabbed('tabpage', 'foobar')">B</button>
但是,这确实匹配了所有以tabbed('tabpage
开头的元素,这意味着它将匹配不完整的onclick属性,如下所示:
<button onclick="tabbed('tabpage">A</button>
如果这是一个问题,则可以考虑先选择onclick元素,然后再基于正则表达式对其进行过滤。这样可以防止选择不完整的tabbed
方法,并且只会选择将onclick
设置为选项卡式函数调用的标签(没有其他调用)。
const elems = [...document.querySelectorAll("[onclick]")].filter((e) => /^tabbed\('tabpage',?[^\)]*\)$/.test(e.getAttribute('onclick')));
console.log(elems.length);
<button onclick="tabbed('tabpage')">A</button>
<button onclick="tabbed('tabpage', 'foobar')">B</button>
<button onclick="tabbed('tabpage">C</button> <!-- Not selected -->
<button onclick="tabbed('tabpage'); xyz('abc')">D</button> <!-- Not selected -->