2013-10-30 61 views
1

我正在一個網站上有多個新聞報道的主頁。如果新聞文章包含超過300個字符,我有一個刪除字母的功能。超鏈接「閱讀更多」將顯示出來,所以讀者可以閱讀完整的文章。一旦讀者點擊閱讀更多,他/她將被重定向到包含其中的文章ID的鏈接。例如:index.php?newsid = 73從每個DIV獲取每個ID與一個特定的類

但是,我需要給每個DIV新聞文章ID的ID。這不是一個真正的問題,問題是:我如何讓jQuery獲得div的ID來爲每個超鏈接指定它自己的URL?

我當前的代碼:

 $(document).ready(function(){ 
    var myDiv = $('.content'); 
    var abc = $(this).closest(".content").attr("id"); 
     //var myDiv = $('.content').attr('class'); 
     //var myDiv = $('#content'); 
     //myDiv.html(myDiv.text().substring(0,300) + '<a href="#">Read more</a>'); 
    })(jQuery); 

我評論幾行只是爲了測試它。我的代碼顯然不工作,我有點失落。這是我給每一個div的它自己的ID:

echo "<div class='content' id='" .$myrow['id'] ."'>" .$myrow['content']. "</div>"; 
+0

那麼,你從什麼HTML開始,你想結束什麼?而且,順便說一句,這個問題聽起來像是最終會有兩個元素共享相同的'id',這在HTML下是無效的,並且很難在JavaScript中使用。 –

+0

$(this)在你的代碼中沒有意義。看看使用jQuery的每個方法$('。content')。each(...) –

回答

1

使用each循環?

$(function(){ 
    $('.content').each(function(){ 
     var _this=$(this); 
     // use _this now to get each items/It's internal properties /items 
     var textContent=_this.text(); 
     //Do your substring function here and set the text back to the item 
     _this.text("Put your updated text here"); 
    }); 
}); 
+0

如果他想要'id',爲什麼要使用jQuery對象,而不僅僅是'this.id'(而不是隱含的'_this.prop('id')'或'_this.attr('id')'? –

+0

他可能需要jQuery對象來重置子串功能後的值 – Shyju

+0

它的工作原理與我想要的一樣。 ,這種毛刺我的滾動條,滾動條仍然像文本沒有縮短,這可能與我的自定義滾動條? – stefan1294

2

使用jQuery的.map()功能

var arr = $('.content').map(function (i) { 
    return this.id; 
}); 

結果數組arr將包含IDS。