我在this
中包含了一个jQuery对象。
我打电话的时候:
console.log($(this).children("td.price.desired").html());
终端打印:
<h3 class="table-label"><span class="label label-default number"> 0 </span></h3>
<input name="trade_params[0][price_desired]" type="number" step="0.01" value="0" min="0.00" class="form-control number" placeholder="Chart Price">
我的目标实际上是使用<h3>
标记来获取元素。
然而,当我打电话时:
console.log($(this).children("td.price.desired h3").html());
我被告知结果未定义。
我的理解是我可以使用这里记录的祖先和孩子的选择器方法:http://api.jquery.com/descendant-selector/。
我可以抓住<h3>
:
$(this).children("td.price.desired").children("h3")
第一种方法我做错了什么?对我来说,这两种方法应该是等价的。
修改
以下是上下文中的完整HTML:
<tr class="0">
<td class="price desired">
<h3 class="table-label"><span class="label label-default number"> 0 </span></h3>
<input name="trade_params[0][price_desired]" type="number" step="0.01" value="0" min="0.00" class="form-control number" placeholder="Chart Price">
</td>
</tr>
答案 0 :(得分:2)
.children()只查找元素的直接子元素,在这种情况下,您需要使用.find()
console.log($(this).find("> td.price.desired h3").html());
演示:Fiddle
答案 1 :(得分:-1)
尝试
console.log($(this).children("td.price.desired > h3").html());