我想用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你的帮助
答案 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/