简体   繁体   English

输出一个值到html多个类javascript

[英]output a value to html multiple classes javascript

It seems i can't get an output to appear in multiple id's or even appear at all in a class. 似乎我无法让输出出现在多个id中,甚至在类中出现。

please see js fiddle below. 请看下面的js小提琴。 Any help would be super useful. 任何帮助都会非常有用。 Thanks in advance 提前致谢

http://jsfiddle.net/KgY9T/201/ http://jsfiddle.net/KgY9T/201/

//javascript
var searchBox = document.getElementById("searchOutput");

searchBox.appendChild(document.createTextNode('testlol'));

//or //要么

var searchBox = getElementsByClassName("searchOutput");

searchBox.appendChild(document.createTextNode('textnolols'));

<div id="searchBox">
    <div class="searchBoxModule">
        <a id='searchOutput'></a>
    </div>
    <div class="searchBoxModule">
        <a id='searchOutput'></a>
    </div>
    <div class="searchBoxModule">
        <a id='searchOutput'></a>
    </div>
</div>

<br>
or
<br>

<div id="searchBox">
    <div class="searchBoxModule">
        <a class='searchOutput'></a>
    </div>
    <div class="searchBoxModule">
        <a class='searchOutput'></a>
    </div>
    <div class="searchBoxModule">
        <a class='searchOutput'></a>
    </div>
</div>

Thanks, Ewan 谢谢,Ewan

I've updated your fiddle as follows: 我更新了你的小提琴如下:

var searchBox = document.getElementsByClassName("searchOutput");
for(i=0;i<searchBox.length;i++){        
   searchBox[i].appendChild(document.createTextNode('textnolols'));
}

link: http://jsfiddle.net/KgY9T/202/ 链接: http//jsfiddle.net/KgY9T/202/

never use same ID more than once.. 永远不要多次使用相同的ID ..
Then, your closest approach was set a common class and try to modify them, but, when you create the var searchBox you are creating an array with all the elements founds. 然后,您最接近的方法设置了一个公共class并尝试修改它们,但是,当您创建var searchBox您将创建一个包含所有已创建元素的array

When you try to modify in any way, you need to treat them like an array and loop over. 当您尝试以任何方式进行修改时,您需要将它们视为数组并循环。 (could be the same for all of them or something specific for each.) (对于所有这些或每个特定的东西都可以是相同的。)

So, as @Shay Elkayam point it out... made a loop and work with that, that's fine. 所以,正如@Shay Elkayam指出的那样......做了一个循环并使用它,这没关系。
But remember... Multiple class are rigth.. one id always. 但请记住......多个class是严格的...一个id永远。

<script type="text/javascript">
    window.onload=function(){
        // crate an array with all elements found
        var searchBox = document.getElementsByClassName("searchOutput");
        // now, loop over the array and do what you need
        for( var i in searchBox) {
            // appendchild for each obj. in array
            searchBox[i].appendChild( document.createTextNode('textnolols') );
        }
    }
</script>

<div id="searchBox">
    <div class="searchBoxModule">
        <a class='searchOutput'></a>
    </div>
    <div class="searchBoxModule">
        <a class='searchOutput'></a>
    </div>
    <div class="searchBoxModule">
        <a class='searchOutput'></a>
    </div>
</div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM