2010-08-13 28 views
1

這裏是我的HTML類:jQuery的去除。點擊

<a href="#">Read more</a> 

<div class="moreDetails"> 
    <p class="additionalText">Some text help here, random length.</p> 
    <p class="author"> 
    <span class="bolder"><a href="minidashboard.php?user_url=http://url.people/1332517">Name</a> 
    </span> 
    </p> 
<div class="replies"> 
    <span> 
    <a href="topic.php?id=http://url/topics/1049198">1</a> 
    </span> 
</div> 

林則使用jQuery類添加到.additionalText股利時,其文字是超過36個字符長。

的jQuery:

$('.moreDetails p.additionalText').filter(function() { 
    if ($(this).text().length > 32) { 
    $(this).addClass('trim'); 
    } 
}); 

<a href="#">Read more</a>點擊類.trim被刪除,顯示的內容我現在想的是。

.trim將段落設置爲固定高度,並將溢出設置爲隱藏。

+1

只是僅供參考,我並不是說你的代碼不起作用,但它有點奇怪的使用'.filter()'。你可能想用'.each()'來代替。或者使用'.filter()'做更多的事情:'$('。moreDetails p.additionalText')。filter(function(){return $(this).text()。length> 32;})。addClass ( '修剪');' – user113716 2010-08-13 15:11:53

回答

5

可以給該鏈接的一類,像這樣:

<a class="readMore" href="#">Read more</a> 

然後添加一個單擊處理程序,如:

$("a.readMore").click(function() { 
    $(this).next().find('.additionalText').removeClass('trim'); 
}); 

這是通過尋找<div>相對<a>通過.next().find()。如果<div>立即按照<a>就像在你發佈的代碼,這可能需要一些調整,例如,如果有在兩者之間的元素,但它們仍然是你需要.nextAll('.moreDetails:first')而不是.next()兄弟姐妹。