jquery不能为id作为数组工作,例如:$(“#pageid [0]”)。val(“1234”);

时间:2012-02-13 21:06:26

标签: jquery arrays

我有一组文本框。我将id作为数组提供为pageid[]

所以第一个文本框的ID是pageid[0]

我试图根据id

对此做一些操作

例如:

$("#pageid[0]").val("1234");

我没有收到任何错误。我做错了吗?

3 个答案:

答案 0 :(得分:3)

尝试:

$("#pageid\\[0\\]").val("1234");

哦,顺便说一句,因为根据specification

,您的HTML无效
  

ID和NAME令牌必须以字母([A-Za-z])开头,可能是   后跟任意数量的字母,数字([0-9]),连字符(“ - ”),   下划线(“_”),冒号(“:”)和句点(“。”)。

因此,不应在您的ID和名称中使用[]

答案 1 :(得分:1)

你的选择器会匹配这个不健康的div:

<div id="pageid" 0="whatever">

选择器的含义:

  • id选择器:#pageid

  • 有属性选择器:[0]

答案 2 :(得分:1)

pageid[0]更改为pageid0并选择以pageid开头的所有元素:

var allFilled = $('input[id^="pageid"]').filter(function(){
                    return !this.value 
                }).length === 0

if (!allFilled)
    alert('Please fill all the ...')

starts with attribute selector