for 循环 returns 未定义
for loop returns undefined
我正在尝试创建一个根据可见元素更改 href link 的函数。
所以在这个例子中我希望我的 link 是 www.link.com/sample1/sample2。
因为 div sample3 是隐藏的,所以不应该包含在这个例子的 url 中。
<div class="filters"> sample1</div>
<div class="filters"> sample2</div>
<div class="filters" style="display:none"> sample3 </div>
<script>
function rt100_link_function() {
var link = document.getElementById("RT100link");
var all = document.getElementsByClassName("filters");
for (var i = 0, max = all.length; i < max; i++) {
if (isHidden(all[i]))
link.href = link.href;
else
var one = all[i]
link.href = link.href + one.innerhtml;
}
}
function isHidden(el) {
var style = window.getComputedStyle(el);
return ((style.display === 'none'))
}
</script>
我面临的问题是 url 输出为 www.link.com/undefined - 我只想获取可见 div 的内容并将其包含在 url,用斜杠分隔 - 但 .innerhtml 不起作用?
感谢任何帮助!
使用one.innerHTML
代替one.innerhtml
之类的;
link.href = link.href + one.innerHTML;
.innerhtml
不是 DOM 元素 属性,所以它总是 return undefined
.
我正在尝试创建一个根据可见元素更改 href link 的函数。
所以在这个例子中我希望我的 link 是 www.link.com/sample1/sample2。
因为 div sample3 是隐藏的,所以不应该包含在这个例子的 url 中。
<div class="filters"> sample1</div>
<div class="filters"> sample2</div>
<div class="filters" style="display:none"> sample3 </div>
<script>
function rt100_link_function() {
var link = document.getElementById("RT100link");
var all = document.getElementsByClassName("filters");
for (var i = 0, max = all.length; i < max; i++) {
if (isHidden(all[i]))
link.href = link.href;
else
var one = all[i]
link.href = link.href + one.innerhtml;
}
}
function isHidden(el) {
var style = window.getComputedStyle(el);
return ((style.display === 'none'))
}
</script>
我面临的问题是 url 输出为 www.link.com/undefined - 我只想获取可见 div 的内容并将其包含在 url,用斜杠分隔 - 但 .innerhtml 不起作用?
感谢任何帮助!
使用one.innerHTML
代替one.innerhtml
之类的;
link.href = link.href + one.innerHTML;
.innerhtml
不是 DOM 元素 属性,所以它总是 return undefined
.