使用jQuery从密钥对值获取值到附加属性

时间:2010-04-02 10:55:48

标签: javascript jquery

如何从密钥对值中获取锚标记的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);
 });
});

2 个答案:

答案 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。顺序无关紧要,它只是一个属性列表,因此无论您使用何种调试工具,首先可能首先出现或不出现任何浏览器进程。无论位置如何,效果都是一样的,因此您在调试器中看到的顺序可能因每个浏览器的不同而有所不同......在这种情况下,这是正常的:)

相关问题