我用
for(var i=0; i<hotelinresult.length; i++)
然后我的HTML是这样的:
<p id="hotelin-title" class="hotelin-title"><%= hotelinresult[i].title %></p>
我编写了一个函数setEllipsis(),通过使用<p>
<p>
在getElementById('hotelin-title')
的末尾都有...
BUT ...功能只出现在第一个数据中,我想这是因为ID ID只能在一个页面中使用一次。如何使我的函数在循环中工作而不是使用getElementById('hotelin-title')
?
答案 0 :(得分:3)
您可以使用document.getElementsByClassName()
返回可以迭代的HTML元素集合。您需要在要将代码应用到的每个元素上设置一个类。
<div class=ellipsis>Some text</div>
<div class=ellipsis>Some more text</div>
<script>
var els = document.getElementsByClassName('ellipsis');
for (var i=0; i<els.length; i++) {
someFunction(els[i]);
}
</script>
答案 1 :(得分:1)
使用:
document.getElementsByClassName('hotelin-title')
ID只能在页面上使用一次
此外,使用jQuery会更容易。您可以通过以下方式访问所有元素:
$('.hotelin-title')