使用jquery获取此之前的特定元素
这听起来很简单,所以我不确定我被困在哪里了。 我有一个我手动验证的表单。在我检查单选按钮是否符合要求后,我需要获得该元素上方的标签。 这是HTML。我无法更改标记,因为此代码是一个继承,并且是更大流程的一部分 这是我的HTML:使用jquery获取此之前的特定元素,jquery,html,Jquery,Html,这听起来很简单,所以我不确定我被困在哪里了。 我有一个我手动验证的表单。在我检查单选按钮是否符合要求后,我需要获得该元素上方的标签。 这是HTML。我无法更改标记,因为此代码是一个继承,并且是更大流程的一部分 这是我的HTML: <label>Do you market on? : </label> <li> <label>Plenty of Fish:</label> <span href="#" style="
<label>Do you market on? : </label>
<li>
<label>Plenty of Fish:</label>
<span href="#" style="float: left; margin-right: 10px;">
<input type="radio" class="required" name="data[SignupAnswer][100][answer]" value="yes" />Yes
</span>
<span href="#" style="float: left; margin-right: 10px;">
<input type="radio" class="required" name="data[SignupAnswer][100][answer]" value="no" />No
</span>
<input type="hidden" name="data[SignupAnswer][100][signup_question_id]" value="100">
<input type="hidden" name="data[SignupAnswer][100][class]" value="bool">
<input type="hidden" name="data[SignupAnswer][100][required]" value="0">
<input type="hidden" name="data[SignupAnswer][100][question]" value="Plenty of Fish">
</li>
您在市场上销售吗?:
大量的鱼:
对
不
我找到了第一台收音机,然后我需要找到上面的标签“很多鱼”
我尝试了使用.prev()和.closest(),都使用了('label'),但都没有返回实际的元素,而是返回此对象:
[prevObject: jQuery.fn.jQuery.init[1], context: <input>, selector: ".next(li)"]
[prevObject:jQuery.fn.jQuery.init[1],上下文:,选择器:“.next(li)”]
也许有人能向我解释为什么我得到这个而不是一个元素?给我一个如何获得所需元素的想法?
谢谢
最近的
选择第一个最近的父元素(由选择器指定),您可以选择父元素li
元素,然后找到标签
:
$(this).closest('li').find('label')
为家庭时间干杯
.parents()
和.children()
另一种方法
$('input[type=“radio”]:first').parent().sibbines('label')
您可以附加一个JSFIDLE吗?请添加您尝试使用的jQuery代码!!谢谢大家,在我将JSFIDLE:)设置为简单且有效之前,有人回答了我的问题——似乎我需要更好地使用控制台,因为我尝试了aboe:)方法。谢谢
$('input[value=yes]').parents('li').children('label')