2012-03-03 95 views
0

如何交替样式(背景颜色与jQuery),用于div内部divid="container"交替(偶数和奇数)如果余有HTML这样的:如何使用jQuery选择器选择特定的div?

<div> 
    <span>10%</span> 
</div> 
<div> 
    <span>20%</span> 
</div> 
<div> 
    <span>30%</span> 
</div> 
..... 
..... 

如何可以选择的div用50%以上和高亮他们使用jQuery?

+0

请阅读问题完全.. – 2012-03-03 15:10:14

回答

1

这似乎回答你原来的问题:http://jsfiddle.net/DRMZz/1/

jQuery(document).ready(function() { 

    var text = jQuery('span').text(); 

    var textArray = text.split('%'); 

    for (var i = 0; i < textArray.length; i++) { 
     if((parseInt(textArray[i])) > 50){ 
      var spanSelector = 'span:eq(' + i + ')'; 
      console.log(spanSelector); 
      jQuery(spanSelector).css('background','yellow'); 
     } 
    }; 

});

+0

你可以给这个使用jquery选择器 – 2012-03-03 15:28:33

+0

我是不知道我明白你在找什么。这是所有的jQuery。 – imjared 2012-03-03 15:29:57

+0

jquery selector method ... with div of id .. – 2012-03-03 15:33:13

2
$("#container > div:contains(50%)").nextAll().css({ 
    "background-color": "#FC0" 
}); 

选择器使用:

编辑:我真的不知道,但也许你真的想这样:

$("#container > div > span").filter(function() { 
    var text = $(this).text(); 
    var perc = parseInt(text, 10); 
    return perc > 50; 
}).css({ 
    "background-color": "#CF0" 
}); 

Demo here

+0

我如何能选择的div 50%以上,亮点他们使用jquery ... – 2012-03-03 15:03:12

+0

在Youtube上搜索“TheNewBoston”。初学者有非常好的jQuery教程。 – Kamil 2012-03-03 15:04:53

+0

对不起,我不明白...你的示例标记中的div高于50%在哪里? – 2012-03-03 15:09:37

3

下面是一个替代的解决方案:偶,:奇选择,再加上你会通过的div有周期,以获得50%+的事情要去

$('#container div').each(function(index, elem){ 
     if (index % 2 == 0) {/*even*/} 
     else 
     {/*odd*/} 
    if (parseInt($(elem).chlidren('span').text()) >= 50) {/*50%+ highlight*/} 
     }); 
+0

我如何选择高于50%的div并使用jquery突出显示它们... – 2012-03-03 15:02:27

+0

@Likwid_T您说服了我,但请在您的答案中注明,是simple:odd和:even选择器的替代解决方案。 – Kamil 2012-03-03 15:14:06

+0

@likwid_T它不工作 – 2012-03-03 15:35:07

2

使用:even:odd选择

$("#container> div:even").css({'background-color':'Green'}); 

DEMO


检查是否div包含50%使用contains选择

$("#container> div:contains(50%):even").css({'background-color':'Green'}); 

Demo


UPDATE:缺少的一部分

$("#container> div").filter(function(){ 
    var val = $("span",this).text(); 
    var i = val.substring(0,2); 
    console.log(i); 
    if(i>50)return $(this); 

}).filter(':even').css({'background-color':'Green'}); 

DEMO

+1

你错过了一部分的问题..我可以选择具有50%以上的div,并使用jquery突出显示它们... – 2012-03-03 15:06:11

+0

更新了答案 – Rafay 2012-03-03 15:20:49