2009-11-10 56 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> 
");