如何从密钥对值中获取锚标记的rel属性?
当我拆分代码以将值放在正确的位置时,它不起作用,a标记的结尾将出现在屏幕上,而不会应用值。当我在Firebug中的控制台中查看生成的代码时,rel和href交换了顺序,因此rel是第一个。
'key'应该是并且位于正确的位置,但'value'需要应用于rel属性。
我做错了什么?
$(function() {
var obj = {"firstThing":"4","secondThing":"6","aThirdThing":"2","anotherThing":"3","followedByAnother":"4"};
$.each(obj, function(key,value) {
$('#newmine').append("<li class='tagBlocks'>","<a href='#' rel=''>",value," ",key);
});
});
答案 0 :(得分:1)
更仔细地看一下:
"<li class='tagBlocks'>","<a href='#' rel=''>",value," ",key
您已将<{1}} 放在value
关闭>
标记之后。
我只会生成一个字符串并附加它:
a
答案 1 :(得分:1)
我会改变它以使用jQuery函数而不是构建字符串,如下所示:
$(function() {
var obj = {"firstThing":"4","secondThing":"6","aThirdThing":"2","anotherThing":"3","followedByAnother":"4"};
$.each(obj, function(key,value) {
$("<li class='tagBlocks'></li>").append(
$("<a href='#'></a>").attr('rel', value).text(key)
).appendTo("#newmine");
});
});
交换的发生是因为......这是javascript,那就是DOM。顺序无关紧要,它只是一个属性列表,因此无论您使用何种调试工具,首先可能首先出现或不出现任何浏览器进程。无论位置如何,效果都是一样的,因此您在调试器中看到的顺序可能因每个浏览器的不同而有所不同......在这种情况下,这是正常的:)