Javascript 使用GetElementById传递多个值(&;在某个字符后拆分)
我对JavaScript几乎没有经验,但我知道getElementID只携带一个值,所以我怎么能传递两个值呢? 我可以像下面那样使用它两次吗?还是使用另一个GetElementBy/GetElementsBy方法更好Javascript 使用GetElementById传递多个值(&;在某个字符后拆分),javascript,asp.net,split,webforms,getelementbyid,Javascript,Asp.net,Split,Webforms,Getelementbyid,我对JavaScript几乎没有经验,但我知道getElementID只携带一个值,所以我怎么能传递两个值呢? 我可以像下面那样使用它两次吗?还是使用另一个GetElementBy/GetElementsBy方法更好 $(文档).ready(函数(){ hash(); 函数hash(){ var hashParams=window.location.hash.substr(1).split('&'); for(var i=0;i
$(文档).ready(函数(){
hash();
函数hash(){
var hashParams=window.location.hash.substr(1).split('&');
for(var i=0;i
ID是一个唯一的标识符,与类不同,因此在DOM中应该只有一个具有相同名称的标识符 getElementById用于查找DOM中具有指定ID的一个元素
如果需要获取多个元素,则可以多次调用getElementById
有关getElementById方法的文档,请参见此处,该方法显示它只接受一个ID参数:使用它两次是完全可以接受的。而且,如果它们是独立的东西,那么这是有意义的 虽然您也可以使用
getElementsByTagName()
,getElementsByName()
或getElementsByClassName()
,但通常使用document.querySelectorAll()
是更现代的选择
如果他们有一些共同点(比如说一个类),你可以这样使用它:
const nodeList = document.querySelectorAll('.classToGet');
Array.prototype.forEach.call(nodeList, element => element.value = decodeURIComponent(p[1]));
document.querySelectorAll()
(以及getElementsBy
函数)返回一个NodeList
,它有点像数组,但没有数组的函数,因此需要Array.prototype.forEach.call()
来循环它们
document.querySelectorAll()
接受一个字符串,就像您给CSS的字符串一样,节点列表中有与之匹配的所有元素
仅供参考,这里有一个等价的document.querySelector()
,它只获取一个元素,因此您可以将它用于ID:
document.querySelector("#<%=start.ClientID%>")
document.querySelector(#)
注意#
就像您在开始时对CSS所做的那样。getElementById将需要在每次您希望通过Id从DOM中获取元素时被调用。从DOM中调用多个元素的方法可能比通过Id更有效。例如,如果需要循环使用相同名称的一组元素,可以使用getElementsByName。