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

发布于 2025-01-05 10:56:42 字数 430 浏览 2 评论 0原文

假设我有一个 DOM 对象:

var a = document.getElementById('parent')

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

我应该在 jQuery 中做什么?

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

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

我尝试过

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

但没有给出任何结果。

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

Let's say that I have a DOM object:

var a = document.getElementById('parent')

I want to search all input inside element a.

What should I do in jQuery?

I want to disable all input inside a, like syntax below:

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

I tried

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

but gave no results.

Note: var a is an element I got from another function.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

耀眼的星火 2025-01-12 10:56:42
$(a).find('input').prop('disabled', true);

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

更新:另请考虑sinsedrix对attr()之间的差异的评论 和 prop()

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

children() just searches immediate children of the element while find() searches all descendants.

Update: Also consider sinsedrix's remark on the difference between attr() and prop().

誰認得朕 2025-01-12 10:56:42

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

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

或者

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

Don't forget attr is for HTML attributes and prop for DOM properties, try this:

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

or

$(a).find('input').prop('disabled',true);
如果没有你 2025-01-12 10:56:42

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

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

你怎么这么可爱啊 2025-01-12 10:56:42
$(a).find('input').attr('disabled',true);
$(a).find('input').attr('disabled',true);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文