我试图做一件非常简单的事情,就是使用Firefox中的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:{document.getElementsByName('T22401715851381308556344_j_id_id0:freeSMSBean:receiverNumber')[0].value='1234';void(0)}但是,问题是名称的粗体部分不断更改。T22401715851381308556344_j_id_id0:freeSMSBean:receiverNumber
我想知道我能用通配符来匹配变化的部分吗?或者是否有更好的解决方案来填充这个输入框?
谢谢
发布于 2014-08-19 23:06:37
可以将 selector与querySelectorAll一起使用。
document.querySelectorAll("[name$=\":freeSMSBean:receiverNumber\"]");小提琴:http://jsfiddle.net/DerekL/869p6knz/
querySelectorAll是document和Element的一种方法,它允许您使用有效的CSS选择器搜索元素。
如果您只想获得第一个结果,querySelector也是可用的。
发布于 2014-08-19 23:15:03
我不认为您可以使用document.getElementsByName来完成这个任务,但是您可以使用document.querySelector这样做:
var textbox = document.querySelector('input[type="text"][name$=":freeSMSBean:receiverNumber"]');
// do whatever you wanna do with textbox如果您想获得名称属性以:freeSMSBean:receiverNumber结尾的所有文本框,则可以使用document.querySelectorAll。
var textboxes = document.querySelectorAll('input[type="text"][name=":freeSMSBean:receiverNumber"]');https://stackoverflow.com/questions/25394272
复制相似问题