$("[class^='stage']").addClass("hidden");
以上隐藏:
<div class="stage1">
<div class="stage2">
<div class="stage1 beep">
<div class="stage2 beep">
但它错过了:
<div class="beep stage1">
<div class="beep stage2">
所以我使用过:
$("[class*='stage']").addClass("hidden");
问题在于我现在甚至隐藏着:
<div class="beep vastage">
<div class="destagel beep">
我如何设计我的选择器,因此它带给我的东西&#34;包含以东西开头的东西&#34;?
答案 0 :(得分:1)
为什么不做:
$('*').filter(function () {
return $(this).attr('class') !== undefined ?
$(this).attr('class').match(/\bstage\d*\b/g) : false;
}).hide();
答案 1 :(得分:0)
根据Jquery文档(http://api.jquery.com/attribute-contains-word-selector/),您可以使用以下语法:
jQuery( "[attribute~='value']" )
选择一个包含字符串的单词(用空格分隔)但不包含&#34;以&#34;开头,只包含。
我认为最好的方法是使用javascript indexof找到你想要的字符串,并检查索引是0还是前面的字符是空格。你需要在所有html代码上循环来检查所有元素......