【问题标题】:Accessing a particular element through DOM通过 DOM 访问特定元素
【发布时间】:2012-05-29 19:40:05
【问题描述】:

我遇到了 DOM 问题。我正在尝试访问特定 <span> 元素的类。

HTML:

<span><span class="abc">*</span><label for="sometext"></label></span>

我想访问&lt;span&gt; 元素的“abc”类,我有&lt;label&gt; 元素。

这是我所做的:

var parent=$(label[0]).parent();
var class=$(parent[0]).childNodes[0].attr("class");

编辑:前一个兄弟似乎是某个文本节点!!..不知道为什么

【问题讨论】:

    标签: jquery dom


    【解决方案1】:

    如果你使用 jQuery,你可以简单地使用:

    var classes = $(label[0]).prev().attr('class');
    

    我建议不要将您的“类”变量命名为“类”,因为它是 javascript 中的保留字。

    【讨论】:

    • 不工作!..前一个兄弟是“文本”节点!..看不到如何
    • 如果是这种情况,那么分配标签 [0] 时出现问题,您能告诉我们您如何/在何处分配该值吗?见:jsfiddle.net/Bs9A9/1
    • 嘿,我发现了错误。结果在某些情况下布局是这样的: 
    【解决方案2】:

    使用这个:

    var sibling = $('label').siblings('span').first();
    var class = $(sibling).attr('class');
    

    【讨论】:

    • 他想查找兄弟 span 的类而不是其父类:var class= $(parent).find('span').attr("class");?
    【解决方案3】:

    试试这个:

    $('label')
          .prev('span')  // get the previous span of label
          .attr('class');  // get class of the span.
    

    DEMO

    $('label')
          .siblings('span')  // get the previous span of label
          .first()
          .attr('class');  // get class of the span
    

    DEMO

    【讨论】:

      【解决方案4】:
      $('label').siblings('span').attr('class');
      

      http://jsfiddle.net/Cf9Qn/

      【讨论】:

        猜你喜欢
        • 2017-12-16
        • 1970-01-01
        • 1970-01-01
        • 2014-02-14
        • 1970-01-01
        • 1970-01-01
        • 2017-05-11
        • 2016-10-14
        • 1970-01-01
        相关资源
        最近更新 更多