如何获取title属性并将其附加到其他位置

时间:2014-10-05 15:18:53

标签: jquery insert get attributes title

如何获取title属性并将其附加到其他地方?

我的代码如下:

<div class="span">
 <a title="SHARON MORGAN" href="/members/SHARONMORGAN">
    <span class="avatar avatar-96 avatar-default"></span>
 </a>
</div>

我想要改变这样:

<div class="span">
 <a title="SHARON MORGAN" href="/members/SHARONMORGAN">
    <span class="avatar avatar-96 avatar-default"></span>
 </a>
 <a href="/members/SHARONMORGAN">SHARON MORGAN</a>
</div>

请注意,名称为SHARON MORGAN的名称将插入锚标记旁边,并使用其上方的相同链接进行换行。非常感谢任何帮助。

3 个答案:

答案 0 :(得分:1)

您可以使用after方法生成新元素。函数回调中的this是指所选元素,因此您可以使用this.titlethis.getAttribute('title')$(this).attr('title')来获取标题值:< / p>

$('div.span a').after(function() {
    return $('<a/>', {
        href: this.href,
        text: this.title
    });
});

或者使用vanilla JS:

[].slice.call(document.querySelectorAll('div.span a')).forEach(function(el) {
   var a = document.createElement('a');
   a.href = el.href;
   a.textContent = el.title;
   el.parentNode.insertBefore(a, el.nextSibling);
});

http://jsfiddle.net/y2goyvvm/

答案 1 :(得分:1)

使用基本的jquery语句:

$(function() {
    $('[title="SHARON MORGAN"]').each(function() {
        $(this.parentNode).append('<a href=\"' + this.href + '\">' + this.title + '</a>');
    });
});

答案 2 :(得分:0)

使用jQuery,你必须以某种方式获取元素并读取ist title属性。然后你可以用它做你想做的事。

<a title="SHARON MORGAN" id="sharon-morgan" href="..."><span>...</span></a>
<script type="text/JavaScript">
var title = $('a#sharon-morgan').attr('title');
var href = $('a#sharon-morgan').attr('href');
var a = $('<a href="' + href + '">' + title + '</a>').appendTo('body');
</script>

当然这只是一个例子,因为你没有指定太多细节。看看jQuery,它完全适用于这样的东西。