这在链接的jquery函数中

时间:2018-11-16 16:19:42

标签: javascript jquery

有人知道是否有一种更精简的方式来编写这段代码吗?

$('#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');
);

谢谢!

1 个答案:

答案 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>