如何将文本从span标签添加到数据属性?
例:
我有这个代码
<div class="clearfix colelem" id="u92-5"><!-- content -->
<p>Icon<span id="u92-2">iconsymbol</span></p>
</div>
我想将 - iconsymbol 添加到相同元素的数据-attr="iconsymbol"中,例如:
<div class="clearfix colelem" id="u92-5" data-attr="iconsymbol"><!-- content -->
<p>Icon<span id="u92-2">iconsymbol</span></p>
</div>
是的,它将包含所有具有标题="图标"的元素
<script>
$( document ).ready(function() {
$("[title*='icon']").attr('data-attr',function(){
// I don't know
}).removeAttr('title');
});
</script>
你知道怎么做吗?所以我知道这很简单,但我是jquery的新手,我需要你的帮助。
我希望你理解我的问题。
这是一个应该适合您的示例。可能有几种方法可以做到这一点,但这应该希望能让你开始。请参阅随附的 JSFiddle 以查看此示例的实际效果
$(function() {
$('[title*="icon"] span').each(function(){
$(this).parent().closest('div').attr('data-attr', $(this).text())
});
});
这也是您可以执行此操作的另一种方法
$('[title*="icon"]').each(function(){
$(this).attr('data-attr', $(this).children().closest('span').text());
});
JSFiddle 示例
你的<div>
应该有属性title="icon"
您正在使用对函数attr()
回调,因此使用 .text()
返回您需要在函数内设置的值。
$(document).ready(function () {
$("[title='icon']").attr('data-attr', function () {
return $(this).find('span').text();
}).removeAttr('title');
});
演示