繁体   English   中英

递归删除所有子元素中的属性

[英]Remove attribute in all children elements recursively

我有这个HTML:

<tr id="Estuches_1">
    <td>
        <div class="group">
            <input name="VariableDataList[0].VariableDataForLevel[0].ProductionOrderId" id="VariableDataList_0__VariableDataForLevel_0__ProductionOrderId" >
            <input name="VariableDataList[0].VariableDataForLevel[0].AggregationLevelConfigurationId" id="VariableDataList_0__VariableDataForLevel_0__AggregationLevelConfigurationId">
            <select name="VariableDataList[0].VariableDataForLevel[0].VariableDataId" disabled="disabled" id="VariableDataList_0__VariableDataForLevel_0__VariableDataId">
                <option value="00">Serial Shipping Container Code(SSCC-18)</option>
                <option value="01" selected="">Global Trade Item Number</option>
                <option value="10">Batch or lot number</option>
                <option value="11">Production date(YYMMDD)</option>
                <option value="17">Expiration date(YYMMDD)</option>
                <option value="21">Serial number</option>
            </select>
        </div>
    </td>
    <td>
        <div class="group">
            <input name="VariableDataList[0].VariableDataForLevel[0].Value" disabled="disabled" id="VariableDataList_0__VariableDataForLevel_0__Value">
            <span class="field-validation-valid" data-valmsg-replace="true" data-valmsg-for="VariableDataList[0].VariableDataForLevel[0].Value"></span>
        </div>
    </td>
</tr>

在Javascript中,我使用上述html创建了一个名为clone的变量。

我想删除html中所有元素中disabled的属性(一个在选择中,另一个在输入文本中)。

我已经试过了:

var clone = $($.parseHTML(html));
clone.removeAttribute("disabled");

但是它并没有删除任何一个。 也许是因为它试图删除tr中的disabled属性。

如何删除所有元素中的disabled属性?

元素的idname将更改。

您需要使用.find()定位disabled元素,然后使用.removeAttr()方法

clone
    .find('[disabled]') //Target all disabled descendants 
    .removeAttr('disabled') //Remove disabled

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM