如何获取内容为“XX”的子元素的类名?

时间:2014-11-04 23:03:11

标签: jquery

如何获取内容为“This is active”的子元素的类名? 我知道名为div name1的父元素id

<div id='name1'>
    <div class='name2'>
      <span>
         <a class='active nameA'>  This is active</a>
      </span>
    </div>
    <div class='name1'>
         <span>
               <a class='not-active'>  not active</a>
         </span>

    </div>
</div>

4 个答案:

答案 0 :(得分:1)

您可以尝试这种方法:

alert($("a:contains('This is active')").attr("class"));

答案 1 :(得分:1)

您可以使用:contains selector

var element = $('#name1').find( "a:contains('This is active')" ), //retrieve the element
    className = element.attr('class'); //retrieve the class from element

alert('Class is ' + className);

工作示例:http://jsfiddle.net/gLhLs5bj/1/

答案 2 :(得分:0)

我建议使用

$("a:contains('This is active')").each(function() { alert(this.classList); });

此处,this.classList是一个列表,其元素是<a>This is active</a> - 标记的属性类名称。

答案 3 :(得分:0)

包含“This is active”内容的元素不包含任何子元素。也许这就是你要找的东西:

http://jsfiddle.net/4sg4pn31/8/

var $activeChild = $("#name1").find('.active');
var $activeClass= $($activeChild).attr("class");

$ activeChild查找具有活动类的子项,$ activeClass获取该元素的类。