我的html代码中有很多下拉菜单,复选框和输入类型文本字段。所有这些字段共享相同的ID,其开头为:
order-billing_address....{field_name}
我只想获取输入类型的文本字段。
我尝试使用querySelectorAll
方法:
var billingFields = document.querySelectorAll('*input[id^="order-billing_address"]');
但是出现语法错误:SyntaxError: '*input[id^="order-billing_address"]' is not a valid selector
。如何使选择器工作?
答案 0 :(得分:4)
您可以通过type
var billingFields = document.querySelectorAll('input[type="text"][id^="order-billing_address"]');
console.log(billingFields)
<input type='checkbox' id='order-billing_address_1'>
<input type='checkbox' id='order-billing_address_2'>
<input type='radio' id='order-billing_address_3'>
<input type='radio' id='order-billing_address_4'>
<input type='text' id='order-billing_address_5'>
<input type='text' id='order-billing_address_6'>
答案 1 :(得分:2)
我不确定为什么选择器中会有一个星号。这样的事情应该起作用:
var billingFields = document.querySelectorAll('input[type=text][id^="order-billing_address"]');
答案 2 :(得分:1)
只需从开头删除星号(*
)并添加[type=text]
:
var billingFields = document.querySelectorAll('input[type=text][id^="order-billing_address"]');