首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何为document.getElementsByName使用通配符?

如何为document.getElementsByName使用通配符?
EN

Stack Overflow用户
提问于 2014-08-19 22:57:53
回答 2查看 2.8K关注 0票数 0

我试图做一件非常简单的事情,就是使用Firefox中的javascript书签填充输入框。

下面是相关代码和屏幕截图的片段:

代码语言:javascript
运行
复制
<input id="T22401715851381308556344_j_id_id0:freeSMSBean:receiverNumber" class="text" type="text" style="POSITION: absolute;" onblur="validateReceiverNumber(this,'');" maxlength="10" value="" name="T22401715851381308556344_j_id_id0:freeSMSBean:receiverNumber"></input>

我可以使用以下javascript书签来填充这个值:

代码语言:javascript
运行
复制
javascript:{document.getElementsByName('T22401715851381308556344_j_id_id0:freeSMSBean:receiverNumber')[0].value='1234';void(0)}

但是,问题是名称的粗体部分不断更改。T22401715851381308556344_j_id_id0:freeSMSBean:receiverNumber

我想知道我能用通配符来匹配变化的部分吗?或者是否有更好的解决方案来填充这个输入框?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-19 23:06:37

可以将 selectorquerySelectorAll一起使用。

代码语言:javascript
运行
复制
document.querySelectorAll("[name$=\":freeSMSBean:receiverNumber\"]");

小提琴:http://jsfiddle.net/DerekL/869p6knz/

querySelectorAlldocumentElement的一种方法,它允许您使用有效的CSS选择器搜索元素。

如果您只想获得第一个结果,querySelector也是可用的。

票数 2
EN

Stack Overflow用户

发布于 2014-08-19 23:15:03

我不认为您可以使用document.getElementsByName来完成这个任务,但是您可以使用document.querySelector这样做:

代码语言:javascript
运行
复制
var textbox = document.querySelector('input[type="text"][name$=":freeSMSBean:receiverNumber"]');
// do whatever you wanna do with textbox

如果您想获得名称属性以:freeSMSBean:receiverNumber结尾的所有文本框,则可以使用document.querySelectorAll

代码语言:javascript
运行
复制
var textboxes = document.querySelectorAll('input[type="text"][name=":freeSMSBean:receiverNumber"]');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25394272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档