Javascript 获取当前复选框的子输入标记

Javascript 获取当前复选框的子输入标记,javascript,angularjs,angularjs-directive,scope,angularjs-scope,Javascript,Angularjs,Angularjs Directive,Scope,Angularjs Scope,我正在尝试获取当前已单击复选框的子输入标记,并通过我的指令向其添加已选中的。我的指令设置正确,但当我尝试获取elem[1] HTML: elem是jQuery或jqLite对象。下标允许您索引到由选择器匹配的元素集合中。例如,在jQuery中 $("span")[1] 获取页面上的第二个span。另一方面, $("body")[1] 应返回undefined,因为应该只有一个实体 元素中只有一个元素(代码)。要获取其第二个孩子,可以执行以下操作: elem.children()[1] 但您

我正在尝试获取当前已单击复选框的子输入标记,并通过我的指令向其添加
已选中的
。我的指令设置正确,但当我尝试获取
elem[1]

HTML:


elem
是jQuery或jqLite对象。下标允许您索引到由选择器匹配的元素集合中。例如,在jQuery中

$("span")[1]
获取页面上的第二个
span
。另一方面,

$("body")[1]
应返回undefined,因为应该只有一个实体

元素中只有一个元素(代码)。要获取其第二个孩子,可以执行以下操作:

elem.children()[1]
但您可能想要它的第一个子项,因为复选框在HTML中位于第一位:

elem.children()[0]
另一种方法是:

elem.find("input")[0]
这可能更好,因为如果更改HTML中元素的顺序,它不会中断

这两种方法都可以得到一个普通的DOM对象。一旦有了checkbox元素,就可以如下设置其
checked
属性:

elem.children()[0].checked = true;
// or
elem.find("input")[0].checked = true;

顺便说一下,您可能应该从复选框中删除
id
元素,因为如果您多次使用此指令,该id将被复制。

elem
是一个jQuery或jqLite对象。下标允许您索引到由选择器匹配的元素集合中。例如,在jQuery中

$("span")[1]
获取页面上的第二个
span
。另一方面,

$("body")[1]
应返回undefined,因为应该只有一个实体

元素中只有一个元素(代码)。要获取其第二个孩子,可以执行以下操作:

elem.children()[1]
但您可能想要它的第一个子项,因为复选框在HTML中位于第一位:

elem.children()[0]
另一种方法是:

elem.find("input")[0]
这可能更好,因为如果更改HTML中元素的顺序,它不会中断

这两种方法都可以得到一个普通的DOM对象。一旦有了checkbox元素,就可以如下设置其
checked
属性:

elem.children()[0].checked = true;
// or
elem.find("input")[0].checked = true;

顺便说一下,您可能应该从复选框中删除
id
元素,因为如果您多次使用此指令,该id将被复制。

您正在尝试访问数组元素中不存在的元素[1]


不要使用
elem[1]
使用
elem[0]

您正在尝试访问数组elem中不存在的elem[1]


不要使用
elem[1]
使用
elem[0]

你只需使用

可以使用event属性获取当前选中的元素

 link: function(scope, elem, attr) {
            elem.bind('click', function(evt) {
            angular.element(evt.target).attr('checked',true);
       });
 }

这里是工作

您可以使用

可以使用event属性获取当前选中的元素

 link: function(scope, elem, attr) {
            elem.bind('click', function(evt) {
            angular.element(evt.target).attr('checked',true);
       });
 }

这里的工作是有意义的,但仍然没有回答我的第二个问题,即在其中添加checked。。。我试过用
prop
来做so@user4756836编辑使用相同的已检查属性使其有意义,但仍然没有回答我的第二个问题,即在其中添加已检查属性。。。我试过用
prop
来做so@user4756836编辑使用相同的已检查属性检查更新的答案检查更新的答案