代码之家  ›  专栏  ›  技术社区  ›  Andrew

尝试使用dojo选择特定节点

  •  3
  • Andrew  · 技术社区  · 15 年前

    我试图从最后一个锚元素的name属性中选择文本 Comment 在DIV中 Comments DIV(即 comment_3037 )如何选择?

    这是我的html:

    <div id="Comments">
        <div class="Comment"><!-- last "Comment" element in the div -->
            <a name="comment_3037"></a>
            <a href=""><img src=""></a>
            <div>
                <div class="Stats">Some info goes here</div>
                <div class="Body">Comment goes here.</div>
            </div>
        </div>
    </div>
    
    1 回复  |  直到 15 年前
        1
  •  2
  •   PvB    15 年前

    修正版本 (dojo.query总是返回一个nodelist)

    这看起来像是:

    var nodelist = dojo.query('#Comments > .Comment:last-child > a[name]);'
    var value = dojo.attr(nodelist.at(0), 'name');
    

    说明: #Comments > .Comment 选择具有类的所有节点 Comment 在ID为的节点内 Comments . :lastChild 将此选择减少到最后一个子项。 > a[name] 选择类型为的所有immidiate子项 a 具有属性 name 。 第二行只从节点的name属性获取值。

    你应该得到正确的元素,但我还没有测试过。

    看看dojo参考,有很多有用的函数。 (我不在道场工作,我只是很喜欢它;)

    信息

    http://docs.dojocampus.org/dojo/query

    编辑

    为了确保只获得所需的节点(如果添加了另一个名为attr的链接),可以将类“thisisthelinkiwant”(或类似的;)添加到适当的链接,并将查询更新为 'Comments .thisisthelinkiwant:last-child'

    您可以考虑阅读关于css选择器的内容,因为它们对于这个函数非常重要。