如何使用jQuery选择按钮内的元素

时间:2014-11-09 18:10:30

标签: javascript jquery

我要做的是,点击

更改我的课程(位于button内)
<button><i class="fa fa-square-o"></i></button>

使用如下所示的js代码(在click函数内部):

...
$(this).child("i.fa").removeClass("fa-square-o");
...

获取child is not a function error

我做错了什么?

5 个答案:

答案 0 :(得分:3)

是的,jQuery中确实没有child()方法。

您可以使用find()或children()。

$(this).children("i.fa").removeClass("fa-square-o");

答案 1 :(得分:2)

您可以改用find()

$('button').click(function() {
    $(this).find("i.fa").removeClass("fa-square-o");
});

Fiddle

答案 2 :(得分:1)

孩子不是一个功能。 试试这个功能:

$(this).children("i.fa").removeClass("fa-square-o");

答案 3 :(得分:0)

jQuery接受第二个参数为context

$('button').click(function() {
    $('i.fa', this).removeClass('fa-square-o');
});

答案 4 :(得分:0)

您正在寻找jQuery .children()函数。如果您尝试从onclick属性调用该函数,则必须记住使用“this”字传递对象的引用。

<button onclick="removeClass(this)"><i class="fa fa-square-o">test</i></button>

removeClass = function(obj){

     $(obj).children("i.fa").removeClass("fa-square-o");

}

工作小提琴: http://jsfiddle.net/4wvgvzL9/