2016-08-24 66 views
0

如何在同一时间更改2类“myDiv”范围名称?下面的脚本只对第一个“myDiv”同名类元素

<div class="myDIV"> 
    <span>orginial name1</span> 
</div> 

<div class="myDIV"> 
    <span>orginial name2</span> 
</div> 

<button onclick="myFunction()">Try it</button> 

<script> 
function myFunction() { 
    var x = document.getElementsByClassName("myDIV"); 
    x[0].innerHTML = "<span>new name for all</span>"; 
} 
</script> 
+0

'getElementsByClassName'返回ns是元素的数组,只需将更改应用于所有元素。看看例如在https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByClassName – lrnzcig

回答

0
document.getElementsByClassName("myDIV"); 

工作会给元素的数组,你是指只有第一个元素[0]。

更新你的功能如下改变在两个。

function myFunction() { 
    var x = document.getElementsByClassName("myDIV"); 
    x[0].innerHTML = "<span>new name for all</span>"; 
    x[1].innerHTML = "<span>new name for all</span>"; 
} 

或者,您可以使用jquery在一行中实现它。

$('.myDIV').html("<span>new name for all</span>"); 
0

如果是工作的第一个,那么这应该对第二个

function myFunction() { 
    var x = document.getElementsByClassName("myDIV"); 
    x[0].innerHTML = "<span>new name for all</span>"; 
    x[1].innerHTML = "<span>new name for all</span>"; 
} 
0

工作一点简单的东西有时会忘记,这仅仅通过增加x[1].innerHTML = "<span>new name for all 2</span>";

function myFunction() { 
 
    var x = document.getElementsByClassName("myDIV"); 
 
    x[0].innerHTML = "<span>new name for all 1</span>"; 
 
    x[1].innerHTML = "<span>new name for all 2</span>"; 
 
}
<div class="myDIV"> 
 
    <span>orginial name1</span> 
 
</div> 
 

 
<div class="myDIV"> 
 
    <span>orginial name2</span> 
 
</div> 
 

 
<button onclick="myFunction()">Try it</button>