【问题标题】:Bug or My Stupidity错误或我的愚蠢
【发布时间】:2009-09-13 11:54:15
【问题描述】:

不确定我是否错过了什么,但这不起作用:

$(this).children('td.threadtitle a').html('thread title');

不过如此

$(this).children('td.threadtitle').children('a').html('thread title');

我只是想了解为什么会发生这种情况。但这是一个错误吗?

【问题讨论】:

    标签: jquery parent-child


    【解决方案1】:

    .children 的选择器参数是一个过滤器$(this).children('td.threadtitle a') 查找与选择器 td.threadtitle a 匹配的节点 并且this直接 子节点。假设你的线程标题tds 在this 之内,并且不高于或等于它,这种情况永远不会发生。

    我认为您可能真正需要的是上下文选择器:

    $('td.threadtitle a', this).html("Thread title")
    

    只要它们出现在this 下的任何位置,就会找到与该选择器匹配的东西。

    【讨论】:

    • $(this).children('td.threadtitle a') 唯一可行的方法是 $(this) 是
    • 我相信你是对的 - children 的过滤器不应该再下降一个层次。不错的收获。
    【解决方案2】:
    1. 应该可以。你能上传一些代码让我们看到你的html吗?
    2. 请注意:如果你想要children,你应该使用"td.threadtitle > a"。否则应该是find('a')

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签