从元素的标题属性中获取文本,同时附加到它

Posted

技术标签:

【中文标题】从元素的标题属性中获取文本,同时附加到它【英文标题】:Getting text from title attribute of element while appending to it 【发布时间】:2011-07-13 09:13:51 【问题描述】:

我有一个函数,它在 .help 类的所有元素之后附加 div(帮助图标)。

jQuery().ready(function() 
     jQuery('.help').append('<div class="mark"></div>');
);

我需要在该函数中添加什么才能从.help 元素的标题属性中获取信息?

我是脚本新手。

【问题讨论】:

是否需要通过“帮助”类为每个元素的“标题”属性获取或设置信息? 查看 jQuery API 文档 (api.jquery.com/each) 中的 each 方法。 我不太明白你的问题。你能详细说说你的问题吗? 【参考方案1】:

利用 append() 也可以接受一个函数来创建要附加的 html 字符串的事实:

$('.help').append(function () 
    return '<div class="mark" title="' + $(this).attr('title') + '"></div>';
);

【讨论】:

【参考方案2】:

我想这就是你想要的:

jQuery().ready(function() 
jQuery('.help').each( function(index, elem)
    $(this).append('<div class="mark" title="' + $(this).attr("title") + '"></div>')
);

);

【讨论】:

是的@johnhunter,我很高兴发布我的(第一次)答案,只是为了看到其他人也在同一分钟做同样的事情:)【参考方案3】:

认为你正在寻找这样的东西:

jQuery().ready(function() 

    // with each help element....
    jQuery('.help').each(function () 

        // create the empty mark, add the title from help, append mark to help
        $('<div class="mark"></div>').attr('title', $(this).attr('title')).appendTo(this);
    );
);

这将为每个帮助元素添加一个div.mark,并将标记的标题设置为父帮助的标题。

【讨论】:

@ctekse - 我们的想法是一样的 :) 太棒了,这就是我正在寻找的:]【参考方案4】:
var title = $('.help').attr("title");

【讨论】:

【参考方案5】:
var title = jQuery('.help').attr('title');

jQuery('.mark').attr('title',title);

【讨论】:

太棒了,这就是我要找的东西【参考方案6】:

尝试使用attr函数:

jQuery().ready(function()  
    console.log( jQuery('.help').attr( 'title' ) );
);

【讨论】:

以上是关于从元素的标题属性中获取文本,同时附加到它的主要内容,如果未能解决你的问题,请参考以下文章

HTML属性,标题,段落,文本格式化

使用 vue/nuxt 将样式属性附加到所有(锚)元素

为啥我不能从将一个列表附加到另一个列表中获取元素

从附加元素获取 jQuery 对象的更简单方法

元素内部文本的 XML 文件转换?

从核心数据读取时获取属性名称和值