我有一个动态网页,其内容可能包含1到10个链接,在文本框中提供,类似于以下内容:
<input size="50" id="link" value="http://Something.Something" type="text">
<input size="50" id="link" value="http://SomethingElse.Something" type="text">
我需要javascript才能读取所有链接,并且能够操作数据(存储在数组中,输出到屏幕等)
我知道我可以使用以下
读取单个IDvar link = document.getElementById('link');
哪个会返回第一个匹配 - 但是,我怎么能循环或获取所有链接的所有值,记住链接的数量无法事先确定?
P.S。我尝试过使用getElementsByTagName('input'),但页面上有更多输入,这意味着它获得的结果比我想要的更多。
答案 0 :(得分:4)
你可以让他们都有名字并按名称搜索。
<input name="vrow" value="0" type="text"/>
<input name="vrow" value="0" type="text"/>
<input name="vrow" value="0" type="text"/>
<input name="vrow" value="0" type="text"/>
然后你可以得到它:
var vrows = document.getElementsByName("vrow");
alert(vrows.length);
答案 1 :(得分:1)
使用 document.getElementsByClassName('class')为他们提供所有公共课程和访问权限。
答案 2 :(得分:1)
每个元素的ID都应该是唯一的。您可以使用document.getElementsByClassName
或document.querySelectorAll(".class");
然后使用类名(假设相对现代的浏览器)。或者使用document.getElementsByTagName()
然后迭代与类比较的元素。
答案 3 :(得分:0)
附加一个jQuery lib,您将能够执行以下操作:
$('input[type=text]').each(function(i, val){
alert($(this).val());
});