0

我有两个 div,如下所示:

<div class="a b">Hello</div>  // div with two classes

<div class="a"> Hii </div>  // div with single class.

两个 div 都有一个共同的类“a”。我想获得只有“a”类的div的值或文本,即第二个div。它不应该获取第一个 div 的值。

PS:两个 div 都没有 id 所以不要说使用不同的 ID。我只希望它使用类。

4

5 回答 5

2
$('.a').not('.b').text()

使用.not选择器过滤掉不需要的元素:http ://api.jquery.com/not-selector/


或者,要真正确保您只选择带有类的 diva

$('div[class="a"]')

供进一步参考:jQuery:是否可以从具有最多 3 个类的元素中选择只有一个类的元素?

于 2013-07-22T06:51:28.763 回答
1

这是您应该用来检查天气的代码,它只有类a或任何其他类。

 $('.a').each(function(){
    var classList = $(this).attr("class");
    classList = classList.trim().split(" ");
    if(classList.length ==1){
         //do your stuff
    }
 });

或者你可以使用

 $('.a').each(function(){
    var classList = $(this).attr("class");
    classList = classList.trim();
    if(classList === "a"){
         //do your stuff
    }
 });
于 2013-07-22T06:55:53.753 回答
1

是的,但是如果您不知道可能包含哪个其他类或我们使用什么类型的元素怎么办?

(假设我们使用 jQuery)

$('.a').each(function(i, ele){

    if($(ele).attr('class')==='a'){
        // get value or text here
    }
});

这虽然更快

$('[class="a"]').each(/* get our values with a function in here */)
于 2013-07-22T06:57:09.153 回答
0

您可以使用 Just Pure CSS(CSS3) 实现该样式,

 div:not(.b){color:red;}

http://jsfiddle.net/WndAf/

jQuery 解决方案,获取 Div 文本

   $(function() {
  console.log($("div:not(.b)").text());
});

http://jsfiddle.net/WndAf/5/

于 2013-07-22T07:00:09.483 回答
0

它很简单,只有当我们只想选择一个我们可以使用的类时,我们才能采用,如下 $('div[class="a"]')所示将获取只有类的 diva

<div class="a b">Hello</div>  // div with two classes

<div class="a"> Hii </div>  // div with single class.

脚本

console.log($('div[class="a"]').html());

小提琴演示

于 2013-07-22T06:57:57.020 回答