Javascript 如何仅通过标记的第一个字符来选择标记?
假设这将是标记:Javascript 如何仅通过标记的第一个字符来选择标记?,javascript,Javascript,假设这将是标记: <iframe name="tag_name_43502" ........ > ... </iframe> 。。。 43502是一个随机数。它在每次页面刷新时都会更改 我应该如何使用getElementById来选择这种标记名?我的意思是如何绕过选择标记名的其余部分?好的。getElementById()不在表中,因为您使用的是的“name”属性,而不是“id”。您可以(在足够现代的浏览器中)使用querySelector(): var frame
<iframe name="tag_name_43502" ........ > ... </iframe>
。。。
43502
是一个随机数。它在每次页面刷新时都会更改
我应该如何使用getElementById
来选择这种标记名?我的意思是如何绕过选择标记名的其余部分?好的。getElementById()
不在表中,因为您使用的是
的“name”属性,而不是“id”。您可以(在足够现代的浏览器中)使用querySelector()
:
var frame = document.querySelector("[name^=tag_name_]");
^=
关系表示“以开始”
看起来所有比IE8更新的东西都可以使用。好的。getElementById()
不在表中,因为您使用的是
的“name”属性,而不是“id”。您可以(在足够现代的浏览器中)使用querySelector()
:
var frame = document.querySelector("[name^=tag_name_]");
^=
关系表示“以开始”
看起来所有比IE8更新的东西都应该可以接受。首先,这不是标记名(这里的标记名是
iframe
),其次,您不应该(也不能)使用getElementById
根据元素的name
属性的内容选择元素
您可以而且应该使用的是属性选择器,更具体地说是
document.querySelector
或document.querySelector all
允许您使用此类CSS选择器选择元素;大多数框架也有基于CSS选择器选择元素的简单方法。首先,这不是标记名(这里的标记名是iframe
),其次,您不应该(也不能)使用getElementById
根据其名称
属性的内容选择元素
您可以而且应该使用的是属性选择器,更具体地说是
document.querySelector
或document.querySelector all
允许您使用此类CSS选择器选择元素;大多数框架也有基于CSS选择器选择元素的简单方法。当使用getElementById
@SebastianNetteid
属性时,使用id
属性通常是一个很好的主意。啊,好的,那么Pointy的答案应该可以解决您的问题了?当使用getElementById
@SebastianNetteid
属性时,id
属性通常是一个很好的主意。啊,好吧,那么尖头的答案应该可以解决你的问题了?除非只有一个iframe,否则分配一个id并使用getElementById
是更好的选择。名称在这种情况下是不相关的。@SebastianNette当然,如果元素有一个“id”,那么它就可以工作,但是如果“id”也是不可预测的,OP也会有同样的问题。人们经常会问这样的问题,关于他们声称无法控制的HTML标记。这是真的。这个问题没有给出任何相关信息,但OP刚才发表了评论,并确认他的id也是随机的。所以你的答案应该符合他的需要。太好了!成功了!实际上,id
和name
属性具有相同的值。我确实犯了错误,除非只有一个iframe,否则分配一个id并使用getElementById
是更好的选择。名称在这种情况下是不相关的。@SebastianNette当然,如果元素有一个“id”,那么它就可以工作,但是如果“id”也是不可预测的,OP也会有同样的问题。人们经常会问这样的问题,关于他们声称无法控制的HTML标记。这是真的。这个问题没有给出任何相关信息,但OP刚才发表了评论,并确认他的id也是随机的。所以你的答案应该符合他的需要。太好了!成功了!实际上,id
和name
属性具有相同的值。我确实搞错了