在jQuery中通过对象初始化器设置数据属性

时间:2017-12-01 10:26:13

标签: javascript jquery html

我想使用以下方式设置标记的数据属性(例如 data-id =“..”):

$('<p>', {text: 'bla', data-?: '..'}).appendTo('#tagToAppendTo');

不幸的是,我无法在对象中定义自定义部分(此处标记为?)。有没有办法这样做,还是我需要求助于 .data()函数?

2 个答案:

答案 0 :(得分:3)

如果它不是有效的标识符名称,您可以将该名称放在引号中:

$('<p>', {text: 'bla', 'data-id': '..'}).appendTo('#tagToAppendTo');
// --------------------^-------^

单引号或双引号均可。

  

有没有办法像这样做,还是需要求助于.data()函数?

data没有设置属性。详情:jQuery .data() does not work, but .attr() does

答案 1 :(得分:0)

您可以使用.attr选项设置自定义data-*值。

下面的代码段。

&#13;
&#13;
$(document).ready(function(){
     $('<p>', {text: 'bla'}).attr('data-test','sample-value').appendTo('#tagToAppendTo');
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="tagToAppendTo"></div>
&#13;
&#13;
&#13;