子选择器jQuery

时间:2013-11-07 03:53:54

标签: javascript jquery children

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

2 个答案:

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