2009-11-10 57 views
0

我有jQuery函數,如果它將打擊具體類包裝它與一些oter divs。問題與獨特的html()jQuery

(document).ready(function(){ 
    var Text = $('.bd_box_cont').html(); 
    $('.bd_box_cont').html(" 
     <div class='bd_box_tl'><div class='bd_box_rt'>" + Text +"</div></div> 

    "); 
)} 

唯一的問題是,我的網站上有更多的容器,並且它將同一個html放到每個容器中。

如何返回特定容器的var文本?

感謝您的幫助提前

回答

1

你必須更加註重的jQuery選擇 - 。http://docs.jquery.com/Selectors 有很多的方式,我們將根據過濾器的對象

$('.bd_box_cont:first').html 
    ("  <div class='bd_box_tl'><div class='bd_box_rt'>" + Text +"</div></div> 
"); 

例如獲得你的第一個容器

1

您使用jquery的類函數(所以用類bd_box_cont每格獲取HTML。 如果你只想一個div來有HTML,只要使用IDS( #bd_box_cont)。html的...你的代碼休息

+0

但隨後頁面將無法有效與W3C – Dom 2009-11-10 11:28:18

+0

真實的,但是這是becau你可以只有一個具有指定ID的div。 否則你需要使用描述b的方法(Svetlozar Angelov的瞬間轟鳴聲)。在這裏,您只需定義您只需要將html放入該類的第一次出現的類方法中就可以定義它 – Bloeper 2009-11-10 11:59:33

1

爲此,您可以更輕鬆地使用.wrapInner()

$(document).ready(function(){ 
    $('.bd_box_cont').wrapInner("<div class='bd_box_tl'><div class='bd_box_rt'></div></div>'); 
}); 
0

像@格雷格說,使用wrapInner()。對於未來的參考,如果你想要做的東西在那裏的原生功能之一是不夠的元素的每一個項目,使用each()

$('.bd_box_cont').each(function() { 
    this_element = $(this); 
}); 
0

你也可以使用這樣的事情(讓我們說你要改變即第二個容器):

var container = $('.bd_box_cont').get(1); 
var Text = $(container).html(); 
$(container).html(" 
    <div class='bd_box_tl'><div class='bd_box_rt'>" + Text +"</div></div> 
"); 

另一種選擇是不一樣的:

var container = $('.bd_box_cont:eq(1)'); 
var Text = container.html(); 
container.html(" 
    <div class='bd_box_tl'><div class='bd_box_rt'>" + Text +"</div></div> 
");