如何将span标记中的文本添加到data-attr?
例:
我有这个代码
<div class="clearfix colelem" id="u92-5"><!-- content -->
<p>Icon<span id="u92-2">iconsymbol</span></p>
</div>
&#13;
我想将iconsymbol添加到data-attr =&#34;iconsymbol&#34;像a:
这样的元素
<div class="clearfix colelem" id="u92-5" data-attr="iconsymbol"><!-- content -->
<p>Icon<span id="u92-2">iconsymbol</span></p>
</div>
&#13;
的元素
<script>
$( document ).ready(function() {
$("[title*='icon']").attr('data-attr',function(){
// I don't know
}).removeAttr('title');
});
</script>
&#13;
你知道怎么做吗? 所以我知道这很简单,但我是jquery的新手,我需要你的帮助 我希望你理解我的问题。
答案 0 :(得分:0)
这是一个适合你的例子。可能有几种方法可以解决这个问题,但这应该可以让你开始。请参阅随附的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());
});
答案 1 :(得分:0)
您的<div>
应该有title="icon"
您正在使用attr()
函数的回调,因此使用.text()
返回您需要在函数内设置的值。
$(document).ready(function () {
$("[title='icon']").attr('data-attr', function () {
return $(this).find('span').text();
}).removeAttr('title');
});
<强> Demo 强>