javascript
  • css
  • 2012-12-26 33 views 0 likes 
    0

    我不明白,邊框只在第一項上顯示,爲什麼?Javascript隻影響一個元素

    HTML

    <div id="theContainer"> 
        <div id="item">Content 1</div> 
        <div id="item">Content 2</div> 
    </div>​ 
    

    的JavaScript

    document.getElementById('item').style.borderTop = '1px solid #0ea2c7';​ 
    

    的jsfiddle:here

    +2

    'id'應該是在文檔中是唯一的。您可能想要使用class。 – nhahtdh

    +0

    你確定javascript支持css的borderTop方法嗎? – Hkachhia

    +0

    好吧,你爲什麼不在像這樣的一個css屬性中使用這個http://jsfiddle.net/SbNKa/53/!不需要js! –

    回答

    2

    您可以使用document.getElementsByClassName

    的JavaScript

    var elements = document.getElementsByClassName('item'); 
    for (i =0; i < ele.length; i++) { 
        elements[i].style.borderTop = '1px solid #000'; 
    } 
    

    HTML

    <div id="theContainer"> 
        <div class="item">Content 1</div> 
        <div class="item">Content 2</div> 
    </div>​ 
    

    CSS

    #theContainer { 
        height: 100px; 
        width: 500px; 
        position: relative; 
        border: 1px solid #900; 
        padding: 10px; 
    } 
    .item { 
        height: 50px; 
        width: 100%; 
    } 
    ​ 
    
    -1

    的document.getElementById」 裝置「,則返回到的Elemen一個參考t通過它的ID「,見here;和id意味着身份,你應該在你的dom樹中每個id只有一個元素。

    如果您想要設置多個元素的樣式,請嘗試使用class。

    HTML

    <div id="theContainer"> 
        <div class="item">Content 1</div> 
        <div class="item">Content 2</div> 
    </div> 
    

    CSS

    .item { border-top: 1px solid #0ea2c7; } 
    
    相關問題