有人知道是否有一种更精简的方式来编写这段代码吗?
$('#element').html(
$('#element').data('test')
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="element" data-test="test"></div>
我正在考虑使用“ this”而不是重复选择器。由于范围,它无法像这样工作:
// doesn't work!
$('#element').html(
$(this).data('test');
);
谢谢!
答案 0 :(得分:1)
您可以给它一个回调函数,其作用域为this
。
$('div').html(function(){
return $(this).data('test');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div data-test="test"></div>
<div data-test="secondary test"></div>
或者说真的,只要使用一个变量(如果只有一个)。
var $div = $('#element');
$div.html($div.data('test'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="element" data-test="test"></div>