jquery Children() 选择器未选择正确的元素

发布于 2024-09-30 08:00:40 字数 1046 浏览 3 评论 0原文

我正在使用 jquery 尝试在一个简单的表中选择一个项目。 调用类似的东西时,

$('.broadcast_item_even').mouseover(function(event) {

    //SET TR GLOW EFFECT
    $(this).attr('class', 'broadcast_item_hover');

    //ALERT THE VALUE 
    alert( $(this).children(2).html());

});

当我在这个表对象上

<table style="color: rgb(0, 0, 255);" id="Table1">  
    <tbody>
        <tr class="broadcast_item_even">
            <td>
                <img height="50px" width="50px" alt="user avatar" src="../../Avatar/default-user.jpg">

            </td>
            <td>                 
                jimbo60
            </td>

            <td>
                10.8 miles
            </td>

        </tr>
    <tbody>
</table>

结果会打印出来

<img height="50px" width="50px" alt="user avatar" src="../../Avatar/default-user.jpg">

,而不是

10.8 miles

我所期望的。有谁知道为什么会发生这种情况?如果是这样,任何帮助将不胜感激。

I am using jquery to try to select an item within a simple table. When I call something like

$('.broadcast_item_even').mouseover(function(event) {

    //SET TR GLOW EFFECT
    $(this).attr('class', 'broadcast_item_hover');

    //ALERT THE VALUE 
    alert( $(this).children(2).html());

});

on this table object

<table style="color: rgb(0, 0, 255);" id="Table1">  
    <tbody>
        <tr class="broadcast_item_even">
            <td>
                <img height="50px" width="50px" alt="user avatar" src="../../Avatar/default-user.jpg">

            </td>
            <td>                 
                jimbo60
            </td>

            <td>
                10.8 miles
            </td>

        </tr>
    <tbody>
</table>

the result prints

<img height="50px" width="50px" alt="user avatar" src="../../Avatar/default-user.jpg">

and not

10.8 miles

which is what I am expecting. Does anyone have an idea as to why this might be occurring? If so, any help would be greatly appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

静若繁花 2024-10-07 08:00:40

如果你想要第三个孩子,你需要 :eq(2).eq(2),如下所示:

$(this).children().eq(2).html()
//or:
$(this).children(":eq(2)").html()

您可以在这里进行测试.children() 函数采用一个选择器,不是索引。

If you want the third child you need :eq(2) or .eq(2), like this:

$(this).children().eq(2).html()
//or:
$(this).children(":eq(2)").html()

You can test it out here. The .children() function takes a selector, not an index.

淡莣 2024-10-07 08:00:40

尝试 $(this).children('td:last').html()

Try $(this).children('td:last').html()

凉风有信 2024-10-07 08:00:40

您还可以使用以下代码来获取第三个 td 的文本。

alert($(this).find("td").eq(2).html());

You cal also use following code to get the text of third td.

alert($(this).find("td").eq(2).html());

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文