我有这样的元素
<input type="checkbox" data-parent="0" value="1229">
我希望得到所有带有数据父级的复选框,其值为N。
以下是我在点击事件处理程序方法中尝试的内容。
checkChildren = function (id) {
var cbs = $(input[type="checkbox"][data-parent=id]);
}
但是在&data; parent-id&#39;
附近有一些语法错误答案 0 :(得分:3)
您的CSS选择器错误。将其更改为:
var cbs = $('input[type="checkbox"][data-parent="' + id + '"]');
答案 1 :(得分:2)
你需要将字符串选择器传递给jquery,首先使用javascript表达式构建它
另外,html标记属性值("checkbox"
和"0"
)都需要引用
var selector = 'input[type="checkbox"][data-parent="' + id + '"]';
var cbs = $(selector);
编辑,详细说明原因:
input[type="checkbox"][data-parent=id]
当javascript解析器点击它时,它会尝试将其作为javascript代码执行,并将结果提供给$()
。
这是它(javascript解析引擎)尝试的内容:
input
[
对象后找到一个左括号input
并评估内容type="checkbox"
type
设置为字符串"checkbox"
并返回字符串"checkbox"
) input["checkbox"
] checkbox
对象的input
属性,例如input.checkbox
,并返回属性的value
或undefined
) value[data-parent=id]
data-parent=id
不明确而导致错误,它正试图将subtract parent from data
的结果设置为变量id
)