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

Javascript 如何为document.getElementsByName使用通配符?,javascript,bookmarklet,Javascript,Bookmarklet,我正在尝试做一件非常简单的事情,就是在Firefox中使用javascript bookmarklet填充输入框 以下是相关代码片段和屏幕截图: <input id="T22401715851381308556344_j_id_id0:freeSMSBean:receiverNumber" class="text" type="text" style="POSITION: absolute;" onblur="validateReceiverNumber(this,'');" maxlen

我正在尝试做一件非常简单的事情,就是在Firefox中使用javascript bookmarklet填充输入框

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

<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>

然而,问题是名称的粗体部分不断变化。 T224017158513813081308556344_j_id_id0:freeSMSBean:接收方编号

我想知道我是否可以使用通配符匹配变化部分。还是有更好的方法来填充这个输入框

谢谢

您可以与以下设备一起使用:

小提琴:


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


如果您只想要第一个结果,也可以使用。我不认为您可以使用
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"]');

工作得很好!非常感谢。我无法让querySelector工作。知道为什么吗?(请注意,我对编程一无所知)。javascript:{document.querySelector(“[name$=\”:freeSMSBean:receiverNumber\“]”[0]。value='1234';void(0)}@Ballanne为什么语句在
{}
中?我不知道。我复制和修改的是另一个书签。
var textbox = document.querySelector('input[type="text"][name$=":freeSMSBean:receiverNumber"]');
// do whatever you wanna do with textbox
var textboxes = document.querySelectorAll('input[type="text"][name=":freeSMSBean:receiverNumber"]');