使用Jquery将现有链接的属性“href”添加到其他链接

时间:2014-09-07 16:27:18

标签: jquery href attr

我想用Jquery创建一个移动菜单,但我没有将href-attributes和text-attributes重新分配给我用Jquery创建的新链接。当我运行控制台登录$(this).attr(' href')和var $ litext = $(this).text()时,一切似乎都很好。我只是想弄清楚如何将新链接与两个元素连接起来。

我做了一个JSFiddle:http://jsfiddle.net/14htwa2u/1/

var $navigation = '<div id="wrapper"><ul><li></li></ul></div>';
var $links = '<a class="dot"></a>';
$($navigation).append($links);

$('a').each(function(){


// Atrribut href
var $attribut = $(this).attr('href');

console.log($attribut);
// Text
var $litext = $(this).text();
console.log($litext);
// Verknüpfung
$($links).val($(this).attr('href', $attribut));

$($links).text($($litext).text());


console.log($links);
});

Thx 4你的帮助

2 个答案:

答案 0 :(得分:0)

您必须更改我们需要使用href函数而不是attr()函数的锚标记的val()属性的值:

var $navigation = '<div id="wrapper"><ul><li></li></ul></div>';
var $links = '<a class="dot"></a>';
$($navigation).find('li').append($links);// may be you want to append inside list

$('a').each(function(){


// Atrribut href
var $attribut = $(this).attr('href');

console.log($attribut);
// Text
var $litext = $(this).text();
console.log($litext);
// Verknüpfung
$($links).attr('href',$attribut); //use attr instead of val

$($links).text($($litext).text());


console.log($links);
});

答案 1 :(得分:0)

您必须创建新的每个新链接。

但首先,我们将列表附加到正文中,然后我们将每个链接附加到它自己的li元素:

$('<div id="wrapper"><ul></ul></div>').appendTo($("body"));

$("a").each(function () {
    // get the href-attribute and the link-text
    var
    attribute = $(this).attr("href"),
    text = $(this).text();

    // log href and text
    console.log("attribute: ", attribute, " | text: ", text);

    // create new link with li in new navigation
    $('<li><a href="'+ attribute +'" class="dot">'+ text +'</a></li>').appendTo($("#wrapper ul"))
})

这是您更新的小提琴:http://jsfiddle.net/14htwa2u/4/