我有以下代码:
<div>
<label for="fsc_name1">Name:<span class="required"> *</span></label>
</div>
<div>
<input style="text-align:left; margin:0;" type="text" id="fsc_name1" name="fsc_name" value="" size="60">
</div>
这是一个联系表单,如果选择了特定元素,我需要能够隐藏其中的一些元素。所以我想说我想隐藏上面的两个div。没有身份证或班级,我不能给他们任何。我所拥有的只是唯一值“for =”fsc_name1“”(<label>
)和“id =”fsc_name1“”(<input>
)
答案 0 :(得分:6)
轻松!只需使用jQuery parent()
。请参阅文档:http://api.jquery.com/parent/
$('#fsc_name1').parent().hide()
$('label[for="fsc_name1"]').parent().hide()
您还可以组合选择器以节省空间。请参阅文档:http://api.jquery.com/multiple-selector/
$('#fsc_name1, label[for="fsc_name1"]').parent().hide()
答案 1 :(得分:5)
您可以混合使用atttribute selector,id selector和.parent()来解决此问题
$('label[for="fsc_name1"]').parent().hide()
$('#fsc_name1').parent().hide()
答案 2 :(得分:1)
首先,id="fsc_name1"
是类选择器,您可以通过
$('#fsc_name1').parent().hide();
但是,我认为对于你的场景,你想要这样的东西......
// This can be an array of elements
var selector = 'fsc_name1';
$('label[for=' + selector + ']').parent().hide();
$('#' + selector).parent().hide();
答案 3 :(得分:1)
没有jQuery版本:
document.querySelector('[for=fsc_name1]').parentNode.style.display = 'none';
document.querySelector('#fsc_name1').parentNode.style.display = 'none';
答案 4 :(得分:0)
请查看http://jsfiddle.net/2dJAN/31/
$('#fsc_name1').closest('div').css('border','1px solid red')
$('#fsc_name1').closest('div').prev('div').css('border','1px solid green')
注意:我完全无法理解你的问题。所以我在示例中将边框添加到div中。如果您要隐藏,请关闭.css
,然后添加隐藏div的.hide()
。
如果您有任何问题,请与我们联系。
答案 5 :(得分:0)
使用.parent()
方法。
$('#fsc_name1').parent().hide();
$('label[for="fsc_name1"]').parent().hide();