如何搜索DOM元素的所有<input />后代并禁用它们

时间:2012-02-14 08:45:27

标签: javascript jquery dom input

假设我有一个DOM对象:

var a = document.getElementById('parent')

我想搜索元素input内的所有a

我应该在jQuery中做什么?

我想禁用a中的所有输入,如下面的语法:

$('#parent input').attr('disabled',true);

我试过

$(a).children('input').attr('disabled',true);

但未给出任何结果。

注意:var a是我从另一个函数获得的元素。

4 个答案:

答案 0 :(得分:3)

$(a).find('input').prop('disabled', true);

children()只搜索元素的直接子元素,而find()搜索所有后代。

更新:还要考虑sinsedrix对difference between attr() and prop()的评论。

答案 1 :(得分:2)

不要忘记attr用于HTML属性,prop用于DOM属性,请尝试以下操作:

$(a).find('input').attr('disabled','disabled');

$(a).find('input').prop('disabled',true);

答案 2 :(得分:1)

$(a).find('input').attr('disabled',true)

答案 3 :(得分:1)

$(a).find('input').attr('disabled',true);