0

我有一个 jQuery 对象包含在this.

当我打电话时:

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

2 回答 2

2

.children()只是寻找元素的直接子元素,在这种情况下你需要使用.find()

console.log($(this).find("> td.price.desired h3").html());

演示:小提琴

于 2013-11-07T03:55:51.060 回答
-1

尝试

console.log($(this).children("td.price.desired > h3").html());
于 2013-11-07T03:56:44.063 回答