【发布时间】:2014-08-28 01:20:19
【问题描述】:
我有 2 个带有列表项的 div,我试图在放置时切换类。代码如下所示。
<div class="wrapper">
<div id="togglelinks" class="left-column">
<ul id="sortable1" class="sortable">
<li class="ui-state-default"><a href=""><img src="img/icon-music.svg" /></a></li>
<li class="ui-state-default"><a href=""><img src="img/icon-nav.svg" /></a></li>
<li class="ui-state-default"><a href=""><img src="img/icon-seats.svg" /></a></li>
<li class="ui-state-default"><a href=""><img src="img/icon-phone.svg" /></a></li>
<li class="ui-state-default"><a href=""><img src="img/icon-weather.svg" /></a></li>
<li class="ui-state-default"><a href=""><img src="img/icon-email.svg" /></a></li>
<li class="ui-state-default"><a href=""><img src="img/icon-calendar.svg" /></a></li>
</ul>
</div>
<div id="stage" class="right-column">
<ul id="sortable2" class="sortable">
<li id="music" class="stagearea"><!-- Content Here --></li>
<li id="nav" class="stagearea"><!-- Content Here --></li>
<li id="climate" class="stagearea"><!-- Content Here --></li>
<li id="phone" class="stagearea"><!-- Content Here --></li>
<li id="weather" class="stagearea"><!-- Content Here --></li>
<li id="email" class="stagearea"><!-- Content Here --></li>
<li id="calendar" class="stagearea"><!-- Content Here --></li>
</ul>
</div>
</div>
我正在尝试将类从“stagearea”类切换到另一个由列表项中设置的唯一 ID 拉动的类。我的 javascript 看起来像这样。
<script>
if ($("#music").addClass('droppedmusic')) {
}
else if ($("#nav").addClass('droppednav')) {
}
else if ($("#climate").addClass('droppedclimate')) {
}
else if ($("#phone").addClass('droppedphone')) {
}
else if ($("#weather").addClass('droppedweather')) {
}
else if ($("#email").addClass('droppedemail')) {
}
else if ($("#calendar").addClass('droppedcalendar')) {
}
</script>
到目前为止,我能够为第一个列表项提取类,但其余的都没有。有什么帮助吗?
【问题讨论】:
-
你以 ID 为目标,添加一个类,然后检查集合中是否有 多个 元素,因为 ID 是唯一的,jQuery 只会永远获取具有给定 ID 的第一个元素,这些集合中将有 NEVER 多个。
-
对于每个不同的 id,我都设置了类集,我希望将其应用于列表项。每一个都是独一无二的尺寸。
-
你不明白,
$("#climate").length最多不会超过1,因为 jQuery 将不会获取具有相同 ID 的多个元素。跨度> -
好的,我刚刚更改了我的 javascript,但我仍然只是让第一堂课拉下来。我更新了我现在在上面使用的内容。
-
您的
if语句没有任何作用。您正在添加一个类作为if的条件。您的第一个条件每次都返回true,因为$("#music")不是“假”值。您只是向其中添加一个类,然后 JS 说“是的,它就在那里”并从您的代码中消失。
标签: javascript jquery toggle conditional-statements