29

有没有办法隐藏optionoptgroupHTML 元素?我试过hide()用 jQuery 调用,也用普通的 Javascript 来设置style.display='none'.

它适用于 Firefox,但不适用于任何其他浏览器。实际上从 DOM 中删除它们确实有效,所以也许有一种方法可以在删除每个 DOM 元素时保存它,然后将它们重新插入到同一个地方?

我的 HTML 是这样的:

<select name="propsearch[area]" id="propsearch_area">
    <option value="0">- Any -</option>
    <optgroup label="Bristol">
        <option  value="Hotwells">Hotwells</option>
        <option  value="Montpelier">Montpelier</option>
    </optgroup>
    <optgroup label="Cardiff">
        <option  value="Heath">Heath</option>
        <option  value="Roath">Roath</option>
    </optgroup>
    <optgroup label="Exeter">
        <option  value="Pennsylvania Road">Pennsylvania Road</option>
        <option  value="Lower North Street">Lower North Street</option>
    </optgroup>
    <optgroup label="Swansea">
        <option  value="Brynmill">Brynmill</option>
        <option  value="Uplands">Uplands</option>
    </optgroup>
</select>
4

1 回答 1

11

我认为这个解决方案对我来说很好:

进行另一个选择,例如

$("#footer_canvas").after('<select id="parkingLot"></select>');

然后隐藏它

$("#parkingLot").hide();

当您想“隐藏”某个 optgroup 时,只需将其“停放在”这个隐藏的选择中即可。

$('#VehicleVehicleCategoryId optgroup[label="kategorie L"]').appendTo("#parkingLot");

同样的方式你可以让它可见。这只是我的解决方案的片段,对我来说很好用。

于 2012-03-05T18:55:44.383 回答