Javascript 为什么我不能删除所有子项的属性?

Javascript 为什么我不能删除所有子项的属性?,javascript,jquery,Javascript,Jquery,我有一个包含输入元素的克隆div,所有这些元素都被禁用。我试图使用以下JQuery代码删除每个div子级的disabled属性 clonedElement.children().removeAttr('disabled'); 我没有太多JQuery经验,所以我可能误解了它的工作方式。我应该如何从克隆节点的所有子节点中删除禁用的属性 如果有帮助的话,clonedElement是用JQuery.clone方法创建的 我正在使用HTML进行测试-- <div id="origi

我有一个包含输入元素的克隆div,所有这些元素都被禁用。我试图使用以下JQuery代码删除每个div子级的disabled属性

clonedElement.children().removeAttr('disabled');
我没有太多JQuery经验,所以我可能误解了它的工作方式。我应该如何从克隆节点的所有子节点中删除禁用的属性

如果有帮助的话,clonedElement是用JQuery.clone方法创建的

我正在使用HTML进行测试--

        <div id="original_item" class="hidden">
            <div class="row_submit">
                <div class="med_field">
                    <p>Product:</p>
                    <select name="product[]">
                        <option></option>
                    </select>
                </div>
                <div class="small_field">
                    <p>Type:</p>
                    <select name="type[]">
                        <option></option>
                    </select>
                </div>
                <div class="small_field">
                    <p>Price:</p>
                    <input type="text" name="price[]" value="test" disabled="disabled" />
                </div>
                <div class="small_field">
                    <p>Quantity:</p>
                    <input type="text" name="quantity[]" />
                </div>
                <img onclick="removeItem(this);" title="Remove Item" style="margin: 18px 0 0 12px;" src="icons/cancel.gif" />
            </div>
            <input type="hidden" name="warehouse_data[]" />
        </div>

jQuery只要clonedElement是jQuery元素,您就可以执行以下操作:

clonedElement.children().each(function() {
    $(this).removeAttr('disabled');
});
children只查看直接的children,如果clonedElement不是med_field/small field中的一个,那么它将不起作用

您可以使用“查找”来搜索直接子级以外的元素

clonedElement.children().removeAttr('disabled');
i、 e


你能展示一下HTML吗?.prop和.attr都是从第一个onlyPerfect开始读写的。现在我想起来,孩子的事情绝对有道理。谢谢。我不使用*选择器,而是选择您需要的元素:clonedElement.find'input,select'。虽然这在这种情况下没有什么区别,但它更有效,最好避免做你不想做的事情。@Jamietre:如果OP只是用它来删除禁用的属性,那么是的……我们可以简单地使用输入/选择选择器禁用仅适用于表单控件,这就是我的假设:@Jamietre:Yes,disabled应用于输入元素,这就是为什么如果用户确实只查找disabled属性,我同意您的观点