如何使用jquery选择没有任何类或id的父元素?

时间:2013-05-16 08:44:00

标签: javascript jquery html

我有以下代码:

<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>

6 个答案:

答案 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 selectorid 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();