【问题标题】:How to search all <input> descendants of a DOM element and disable them如何搜索 DOM 元素的所有 <input> 后代并禁用它们
【发布时间】:2012-02-14 08:45:27
【问题描述】:

假设我有一个 DOM 对象:

var a = document.getElementById('parent')

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

我应该在 jQuery 中做什么?

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

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

我试过了

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

但没有给出任何结果。

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

【问题讨论】:

    标签: javascript jquery dom input


    【解决方案1】:
    $(a).find('input').prop('disabled', true);
    

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

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

    【讨论】:

    • @SimonGate:这些简单的 jQuery 问题总是一样的......答案很急;)
    【解决方案2】:

    不要忘记attr 用于 HTML 属性,prop 用于 DOM 属性,试试这个:

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:
        $(a).find('input').attr('disabled',true);
        

        【讨论】:

          猜你喜欢
          • 2023-03-28
          • 2023-02-03
          • 2012-03-10
          • 2011-06-22
          • 2017-02-27
          • 2011-05-03
          • 1970-01-01
          • 2013-02-24
          • 2011-09-23
          相关资源
          最近更新 更多