如何通过jQuery将文本从span标签添加到data-attr



如何将文本从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');
});

演示

最新更新