如何使用jquery从div中选择一些元素?

时间:2017-09-27 08:32:05

标签: jquery

如何设置某些元素的值,例如我有9个div,我想使用jquery访问其中一些div。

这是我的HTML代码:

 <div>1</div>
 <div>2</div>
 <div>3</div>
 <div>4</div>
 <div>5</div>
 <div>6</div>
 <div>7</div>
 <div>8</div>

我想循环遍历div的某些部分以赋予它样式。

 var divs = $('div');

 for (var x= 3; x < divs.length; x++) {
         divs[x].css("color", "blue");
 }

但这给了我一个错误。关于如何访问它的任何想法?

谢谢。

5 个答案:

答案 0 :(得分:2)

请参阅我的代码。我正在添加Code Snippet。我点击了按钮&#34; Style Div&#34;改变替代div的颜色。

&#13;
&#13;
 function styleDiv()
    {
        var divLength = $(".MainDiv div");
        for (var i = 1; i < divLength.length; i+=2)
        {
            $(divLength[i]).css("color", "blue");
        }

    }
&#13;
.styleButton
{
margin-bottom: 30px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="styleButton">
    <input onclick="styleDiv()" type="button" value="Style Div" />
</div>

<div class="MainDiv">
    <div>1 div</div>
    <div>2 div</div>
    <div>3 div</div>
    <div>4 div</div>
    <div>5 div</div>
    <div>6 div</div>
    <div>7 div</div>
    <div>8 div</div>
</div>
&#13;
&#13;
&#13;

我希望这会有所帮助: - )

由于

答案 1 :(得分:1)

  1. 使用:lt()
  2.   

    描述:选择匹配集中索引小于索引的所有元素。

    $('div:lt(3)').css('color', 'red')
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div>1</div>
    <div>2</div>
    <div>3</div>
    <div>4</div>
    <div>5</div>
    <div>6</div>
    <div>7</div>
    <div>8</div>

答案 2 :(得分:0)

 var divs = $('div');
    for(var x= 3; x < divs.length; x++){
         $(divs[x]).css("color", "blue");
     }

在你的例子中,div [x]不是一个jquery对象,所以它引发了错误。将其转换为jquery对象$(divs[x])

答案 3 :(得分:0)

这是一个没有jquery的解决方案。

&#13;
&#13;
var divs = document.getElementsByTagName('DIV');
var r = 5;
var g = 10;
var b = 15;
for (var i = 0; i < divs.length; i++) {
  divs[i].style.backgroundColor = "rgb(" + r + "," + g + "," + b +")";
  r += 30;
  g += 50;
  b += 70;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
&#13;
&#13;
&#13;

我知道你的标签是jquery,但我想告诉你,你可以使用纯粹的javascript。

答案 4 :(得分:0)

试试这个:

var count = 0;
$("div").each(function(){
    if (count>3) {
        $(this).css("color","red");
    }
    count++;
});