当其他visibility
display
属性的状态发生变化时,我想在click
上使用jQuery更改css div
和visibility
属性。 (许多人对于混淆的标记道歉,但需要操纵其他人的构造):
此页面中有[data-label="Checkbox"] [data-label="Checked"]
的四个实例。我想在任何 [data-label="trash"]
属性时将[data-label="Sort Options"]
和 visibility: visible; display: [empty value]
设置为[data-label="Checkbox"] [data-label="Checked"]
更改为'visibility', 'visible'
。
否则,如果[data-label="Checkbox"] [data-label="Checked"]
的无具有属性'visibility', 'visible'
,我想将[data-label="trash"]
和[data-label="Sort Options"]
设置回来到他们的初始状态:display: none; visibility: hidden;
。
这是标记:
<div data-label="Sort Options" style="display: none; visibility: hidden;">
<div data-label="trash" style="display: none; visibility: hidden;"></div>
</div>
<div data-label="Checkbox">
<div data-label="Unchecked"></div>
<div data-label="Checked" style="display: none; visibility: hidden;"></div>
</div>
以下是我尝试过的失败:
$('[data-label="Checkbox"]').click(function() {
if ('[data-label="Checkbox"] [data-label="Checked"]').css('visibility', 'visible') {
$('[data-label="trash"], [data-label="Sort Options"]').css({'display': '', 'visibility': 'visible'});
} else {
$('[data-label="trash"], [data-label="Sort Options"]').css({'display': 'none', 'visibility': 'hidden'});
}
});
任何帮助将不胜感激!感谢
答案 0 :(得分:0)
if ('[data-label="Checkbox"] [data-label="Checked"]').css('visibility', 'visible')
首先.css()
用于设置或获取css,你在这里使用的方式是setter,get应该像
if ($('div[data-label="Checkbox"]').css('visibility')=='visible'&& $('div[data-label="Checked"]').css('visibility')=='visible')
其次,你可以使用一个选择器来处理没有逻辑运算符的两个元素,你可以看到我使用&&
来检查'visibility'
是否都设置为'visible'
如果您将display
设置为none,则不必使用visibility
属性,尽管使用的标准是display
。