我有一些div在创建时动态添加“fund-id”属性,因为我的页面上可能有大约50个。我试图动态隐藏和显示该div中的元素,基于div中的fund-id和label id HTML将是;
<div class="qtyDD" id="divqtyDD" style="display: none;" fund-id="1">
<a href="#" onclick="javascript:changeQtyType('D');"><label id="qtyTypeD" class="lblqtyDD" value="D">Dollars</label></a>
<a href="#" onclick="javascript:changeQtyType('Shrs');"><label id="qtyTypeShrs" class="lblqtyDD" value="Shrs">Shares</label></a>
<a href="#" onclick="javascript:changeQtyType('Full');"><label id="qtyTypeFull" class="lblqtyDD" value="Full">Full</label></a>
<a href="#" onclick="javascript:changeQtyType('Net');"><label id="qtyTypeNet" class="lblqtyDD" value="Net">Net Redemptions</label></a>
</div>
取决于我要隐藏的复选框选择();最后3个元素或全部显示。类似的东西;
var fundID = fundID (taken from the function call, this is working fine)
if(this.checked){
$('#divqtyDD[fund-id="' + fundID + '"]').next('#qtyTypeShrs').hide();
}else{
$('#divqtyDD[fund-id="' + fundID + '"]').next('#qtyTypeShrs').show();
}
标签在被下一个功能引用时不会隐藏。任何帮助表示赞赏。
答案 0 :(得分:1)
试
$("#divqtyDD").children("#qtyTypeD").hide();
或者您可以直接使用
$("#qtyTypeD").hide();
因为id是唯一的。
答案 1 :(得分:0)
$("#divqtyDD").children().slice(1)[this.checked ? 'hide' : 'show']();