Я пытаюсь сделать slideToggle, когда я нажимаю на tr, что расширяет скрытый контент. Ток, когда я это сделаю, он затвора/мигание, открытие и закрытие 4 раза. То, что я пытаюсь сделать, делает так, чтобы ВСЕ дети, кроме div # bounds (и по ассоциации, все его дочерние элементы) получат этот атрибут onclick.jquery selector не работает при попытке НЕ включать что-то
<tr id="attr_expander"><th>Alignment</th><td><input class="attribute" type ="text" disabled="true" />
<div id="bounds">
<label><input type="radio" name="toggle" value = "1"><span></span></label>
<label><input type="radio" name="toggle" value="2"><span></span></label>
<label><input type="radio" name="toggle" value = "4"><span></span></label><br />
<label><input type="radio" name="toggle"value = "16"><span></span></label>
<label><input type="radio" name="toggle"value = "32"><span></span></label>
<label><input type="radio" name="toggle"value = "64"><span></span></label><br />
<label><input type="radio" name="toggle"value = "256"><span></span></label>
<label><input type="radio" name="toggle"value = "512"><span></span></label>
<label><input type="radio" name="toggle"value = "1024"><span></span></label>
</div>
JQuery является:
$("#attr_expander").find("*:not(div[id='bounds'])").click(function() {
$("#bounds").slideToggle();
});
CSS, чтобы сделать вещи выглядит немного лучше:
#bounds {
margin:4px;
background-color:#EFEFEF;
border-radius:4px;
border:1px solid #D0D0D0;
overflow:auto;
float:left;
}
#bounds label {
float:left;
width:2.25em;
height:3.0em;
border: 1px solid black;
}
#bounds label span {
text-align:center;
padding:3px 0px;
display:block;
width:2.25em;
height:2.75em;
}
#bounds label span:hover
{
background-color:Aqua;
border: 1px solid black;
}
#bounds label input {
position:absolute;
top:-20px;
}
#bounds input:checked + span {
background-color:#404040;
color:#F7F7F7;
}