如果長度LI大於3,我想改變div的類別,如果小於3,那麼類別名稱應該是默認的,如「content」,如果超過3,那麼類別名稱應該是「滾動內容「如何根據內容更改div類?
<div class="classname">
<ul>
<li>Content</li>
<li>Content</li>
<li>Content</li>
<li>Content</li>
</ul>
</div>
我更喜歡使用jQuery爲此,
如果長度LI大於3,我想改變div的類別,如果小於3,那麼類別名稱應該是默認的,如「content」,如果超過3,那麼類別名稱應該是「滾動內容「如何根據內容更改div類?
<div class="classname">
<ul>
<li>Content</li>
<li>Content</li>
<li>Content</li>
<li>Content</li>
</ul>
</div>
我更喜歡使用jQuery爲此,
嘗試:
$("ul").each(function() {
$(this).parents("div.classname:first")
.addClass($(this).children().length > 3 ? "scroll-content" : "content");
});
或也許是這樣的:
$("div.classname").each(function() {
$(this).addClass($(this).find("ul").children().length > 3 ? "scroll-content" : "content");
});
$(function() {
if ($("div.classname > ul li").length > 3)
{
$("div.classname").removeClass().addClass('anotherclass');
}
else if (...)
{
// add another class
}
});
它可以用一個電話,沒有條件語句
$('ul li:nth-child(4)')
.closest('div')
.removeClass('content')
.addClass('scroll-content');
這裏假設你的默認類是「內容」如你所說來完成。
此調用查找至少有4個子元素(即多於3個)的任何ul,然後找到最接近的父元素,並刪除默認類並添加滾動內容類。
第二種解決方案很好 – 2009-11-17 06:08:04