通过JS

时间:2017-11-29 14:42:44

标签: javascript

昨天,我问了同样的问题,到今天我更具体一点。我想将这些div值放入生成的链接中,因此链接就像:https://stackoverflow.com/value1 value2 value3

<div class="example">value 1</div>

<div class="example">value 2</div>

<div class="example">value 3</div>
<button onclick="myFunction()">Try it</button>

<script>
function myFunction() {
var x = document.querySelectorAll('.example');
var i;
for (i = 0; i < x.length; i++) {
    x[i].innerText;
} 

    window.open('https://stackoverflow.com/'+x ,'_blank', "width=550, height=550");
}
</script>

我得到的只是https://stackoverflow.com/[object NodeList] 你能帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

  

我得到的只是https://stackoverflow.com/[object NodeList]你能吗?   帮我解决这个问题?

由于x仍然是nodeList并且您没有为x分配任何内容,因此您需要另一个累加器

var value = [];
for (i = 0; i < x.length; i++) {
    value.push( x[i].innerText);
} 
value = value.join(" "); //not sure why you need space delimited values

window.open('https://stackoverflow.com/'+value  ,'_blank', "width=550, height=550");

答案 1 :(得分:0)

只要让x[i].innerText;行自行返回innerText的值,但关键是你不会将结果存储在任何地方。

window.open()函数中,x的值是一个对象而不是一个字符串。