我一直在使用jQuery,但似乎无法解决这个问题......
我有这样的HTML布局:
<div id="wrapper">
<div class="accordionButton">
<h2 class="profiletitles">Requested <?php $count = 0; ?></h2>
<span class="trainingHeaderCount"></span>
</div>
<span class="postCount">12</span>
</div>
我正在尝试使用<span class="trainingHeaderCount"></span>
填充<span class="postCount">12</span>
。
到目前为止我所拥有的是:
$('span.trainingHeaderCount').html($(this).parent().parent().find('.postCount').html());
但它没有加载任何东西进入DIV。它可能与滥用“这个”有关,但不确定......
由于
答案 0 :(得分:3)
在您的代码中
$('span.trainingHeaderCount').html($(this).parent().parent().find('.postCount').html());
$(this)
未定义。
试试这个:
$this = $('.trainingHeaderCount')
$this.html($this.parent().parent().find('.postCount').html());
答案 1 :(得分:1)
您可以将函数传递给.html()
,并且该函数this
内部将引用具有其HTML集的当前元素。例如:
$('span.trainingHeaderCount').html(function() {
return $(this).parent().parent().find('span.postCount').html();
});
答案 2 :(得分:0)
试试这个
var spans = $('span.trainingHeaderCount');
$.each(spans,function(){
$(this).html( $(this).parent().next().html() );
});
答案 3 :(得分:0)
试试这个:
$('span.trainingHeaderCount').html(function(){
return $(this).parent().siblings('.postCount').text()
})
答案 4 :(得分:0)
如果你把你的包装器变成一个类,这会更好一些,这样你就可以在页面上有多个:(你必须把#wrapper改成.wrapper)
$('#wrapper').each(function(index, element){
$(element).find('.trainingHeaderCount').html($(element).find('.postCount').html());
});
这样你可以在页面上移动标记,如果你需要将跨度改为div和back等等。