当涉及到选择器和模式时,我仍然有点困惑......基本上,我正在尝试找到输入项的父div,如果在其ID中的任何位置找到字符串,我想设置它没有显示。
之前我做过这样的事情就是这样做:
if($('div[id*=string]')) { $(this).attr('display','none'); }
但是,我不确定如何为变量做到这一点?
这是我得到的,然后我被卡住了......
$('input.rclass').each(function() {
var myDiv = $(this).parent().parent();
if($(myDiv...
});
标记看起来像这样:
<div id="edit-gci" class="form-item">
<label for="editgci[0][foa][value]" class="option">
<input type="radio" class="rclass" value="" name="editgci[0][foa][value]" id="editgci-0-value-string-idnum"> N/A
</label>
</div>
答案 0 :(得分:1)
attr
用于设置元素的属性,因此您的行:
if($('div[id*=string]')) { $(this).attr('display','none'); }
应该是:
if($('div[id*=string]')) { $(this).css('display','none'); }
改为使用css
方法。
答案 1 :(得分:0)
如果你可以认为它总是
$('input.rclass').each(function() {
var myDiv = $(this).parent().parent();
if(myDiv.attr("id").length >0){
$(myDiv).hide();
}
});
忘记检查id属性长度&gt; 0.
答案 2 :(得分:0)
在JavaScript中,您可以使用正则表达式在另一个字符串中查找字符串。
if(/string/.test($(myDiv).attr('id'))) { $(this).hide(); }
答案 3 :(得分:0)
您可以使用jQuery.closest()
$('input.rclass').cloest('.form-item').hide();