javascript - 使用 html jQuery 对象时 jQuery .data 不起作用

标签 javascript jquery

我在使用 HTML jQuery 对象的 .data jQuery 函数时遇到问题。

var test = $('<div><div class="abc123"></div></div>');
test.find('.abc123').data('please', 'change');

test仍然没有改变

<div>
    <div class="abc123"><div>
</div>

但是使用.text函数

test.find('.abc123').text('TESTING');

工作正常:

<div>
    <div class="abc123">TESTING</div>
</div>

有没有办法让datatest变量上工作?

<小时/>

编辑:

运行后我期待什么

test.find('.abc123').data('please', 'change');

<div>
    <div class="abc123" data-please="change"></div>
</div>

最佳答案

在元素上调用 .data(),无论是在 HTML 中还是在 JQuery 对象中创建,都不会修改关联的标记。无论如何,关联的 DOM 属性都会更新。

var test = $('<div><div class="abc123"></div></div>');
test.find('.abc123').data('please', 'change');

alert(test.find('.abc123').data('please'));

上面的代码将提醒“更改”。

如果您的目标还包括更新标记,则可以使用:

test.find('.abc123').attr('data-please', 'change');

关于javascript - 使用 html jQuery 对象时 jQuery .data 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27872698/

相关文章:

javascript - 如何获取传单 map 的搜索值

Javascript 和 jquery 可与 IE 配合使用

javascript - 添加文本标签

jquery - 鼠标右键粘贴在所有浏览器中只允许数字

javascript - 根据价格过滤

jquery - 在 jQuery Masonry 上显示元素

php - 压缩显示的空间数字(类似于堆栈,但也适用于 <1)

javascript - .attr ("href"的问题)!有一个简单的方法可以解决这个问题吗?

javascript - 在页面滚动时更改元素样式

javascript - 在 div 中显示绝对定位的图像