我有一个看起来像这样的 div:
<div class="enemy" data-level="1" data-dmg="10" data-hp="50" data-type="A" data-ready_to_breed="false"><span>Enemy 1</span></div>
如何<span>
以用户始终可以查看 div(或“敌人”)状态的方式显示数据标签中的内容
我有一个看起来像这样的 div:
<div class="enemy" data-level="1" data-dmg="10" data-hp="50" data-type="A" data-ready_to_breed="false"><span>Enemy 1</span></div>
如何<span>
以用户始终可以查看 div(或“敌人”)状态的方式显示数据标签中的内容
要访问该data
属性,请使用.data()
.
$('.enemy').data('type'):
$('.enemy').data('ready_to_bread'):
等等。
要显示到span
关于enemy
尝试:
var enemy = $('.enemy');
$('span', enemy).html(enemy.data('type'))
var enemy = $('.enemy'),
var data = enemy.data();
$.each(data, function(key, val) {
enemy.append($('<span/>', {
'class' : key, // if you need then can add class like this
html: key + " : " + val + '<br>'
}));
});
您可以像这样在 div 中添加新元素:
$('.enemy').each(function(){
var $this = $(this);
$this.children().append($('<span />').html('Level: ' + $this.data('level')));
$this.children().append($('<span />').html('Dmg: ' + $this.data('dmg')));
});
现场示例:http: //jsfiddle.net/ZJDEu/
这将导致标记,例如:
<div class="enemy" data-ready_to_breed="false" data-type="A" data-hp="50" data-dmg="10" data-level="1">
<span>
Enemy 1
<span>Level: 1</span>
<span>Dmg: 10</span>
</span>
</div>
当然,您可以更改 jquery 以形成您想要的任何标记。
如果是我,我会选择稍微不同的东西:
$('.enemy').each(function(){
var $this = $(this);
$this.append($('<span />').addClass('level').html($this.data('level')));
$this.append($('<span />').addClass('dmg').html($this.data('dmg')));
});
形成标记:
<div class="enemy" data-ready_to_breed="false" data-type="A" data-hp="50" data-dmg="10" data-level="1">
<span>Enemy 1</span>
<span class="level">1</span>
<span class="dmg">10</span>
</div>
因为这对于样式/布局目的来说更容易处理。
现场示例:http: //jsfiddle.net/djdAB/