好的,标题可能有点令人困惑。让我解释一下。
<div class="book">
<h3>Name of Book</h3>
<p>
<span data-notmobile="Author"></span>Rajesh K. Maurya</p>
<p>
<span data-notmobile="Publication"></span>Wiley India</p>
<p>
<span data-notmobile="Edition"></span>2011</p>
<p>
<span data-notmobile="Branch"></span>Information Technology</p>
<p>
<span data-notmobile="Semester"></span>5</p>
</div>
现在我想要一种方法分别用其data属性替换每个span的内容。 我试过了
$('.book span').html($('.book span').data("notmobile"));
只将内部html更改为第一个属性,即“作者”。出于某种原因,'this'关键字不起作用。
我想这样做而不给每个跨度一个属于它自己的类。
答案 0 :(得分:3)
$('.book span').each(function(){
$(this).html($(this).data("notmobile"));
});
答案 1 :(得分:2)
$('.book span').data('notmobile')
返回第一个匹配元素的值。使用以下代码获得正确的预期效果:
$('.book span').html(function() {
return $(this).data("notmobile");
});
答案 2 :(得分:1)
$('.book span').each(function() {
var $this = $(this);
$this.html($this.data('notmobile'));
});