使用jquery来影响具有相同id的div

时间:2016-02-05 02:13:05

标签: javascript php jquery

我有超过1个具有相同ID的div,我正在尝试使用jquery同时影响所有这些,而不是仅仅是第一个div。有没有办法在不改变div id的情况下做到这一点?

<div id = '1'>
<div id = '1'>
<div id = '1'>

//codes
document.getElementById(1).innerHTML = data;
$("#"+1).hide();
$("#"+1).fadeIn(500);
//codes

3 个答案:

答案 0 :(得分:2)

id应该是唯一的。而是使用一个类。

&#13;
&#13;
$( document ).ready(function() {
  $(".fader").html("testing");
  $(".fader").hide();
  $(".fader").fadeIn(500);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="fader">test</div>
<div class="fader">test</div>
<div class="fader">test</div>
&#13;
&#13;
&#13;

答案 1 :(得分:2)

在HTML中,id属性在整个文档中应该是唯一的。永远不应该有2个元素具有相同的id属性值。

您需要做的是使用一个类,该类可用于整个html文档中的许多元素。

<div class="theClassName"></div>
<div class="theClassName"></div>
<div class="theClassName"></div>

var elementsArray = document.getElementsByClassName("theClassName");
for(var i = 0; i < elementsArray.length; i++) {
    var element = elementsArray[i];
    // do something with each element
}

答案 2 :(得分:0)

使用Attr selector可以解决您的问题。

$('[id='1']')

但我们不推荐这样做,因为id attr的设计是独一无二的。相反,您可以使用classname attr。

<div class='someClass' name='someName'>
<div class='someClass'>
<div class='someClass'>

// using class
$('.someClass').hide();

// using name
$('div[name='someName']').hide();