这是我的HTML
<a href="#" data-finder-code="" data-dropdown-placeholder="Select..." data-dropdown-text="1">Samsung</a>
这是我的 JQuery
var finder_code = 39;
$("a[data-dropdown-text='1']").data("finder-code", finder_code);
当我通过 $("a[data-dropdown-text='1']")
搜索并尝试替换 data-finder-code
时相同的 href
没有任何反应。我如何让它工作?
最佳答案
您的代码运行良好。当您使用 data()
时,jQuery 仅出于性能原因更新其内部缓存。如果您使用 data()
的 getter 检索值,那么您可以看到它工作正常:
var finder_code = 39;
$("a[data-dropdown-text='1']").data("finder-code", finder_code);
console.log($("a[data-dropdown-text='1']").data('finder-code'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" data-finder-code="" data-dropdown-placeholder="Select..." data-dropdown-text="1">Samsung</a>
如果您有更新 DOM 中的值,那么您可以使用 attr('data-finder-code')
,但是它会稍微慢一些:
var finder_code = 39;
$("a[data-dropdown-text='1']").attr('data-finder-code', finder_code);
关于jquery - 按数据属性搜索,并替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45672278/