【发布时间】:2011-08-27 08:51:29
【问题描述】:
我正在 Google Blogger 中开展一个项目。首先我想解释一件事。
在 blogger 中,每个创建的帖子都有一个由 blogger 本身分配给它的唯一 ID。可以使用 Blogger JSON 检索此 ID。因此,我使用 JSON 检索了最近四篇文章的 ID。
我想使用 JQuery 或 Javascript 将前四个 id 容器包装在 DIV 容器周围。
问题是,当我在选择器 $ 中绝对使用这些 id 并使用 wrapAll() 函数时,id 容器会被包裹起来。
但正如我所说,我正在使用 JSON 来获取容器 id,所以值ID 存储在变量中,当我使用这些变量作为 wrapAll() 函数的选择时,它不起作用。
我有这两种情况的演示,可以通过访问此博客 http://youblog-demo.blogspot.com/ 并使用 firebug 控制台运行这些代码来查看。
使用绝对容器 ID 时的情况 1
var script = document.createElement("script");
script.src = "http://youblog-demo.blogspot.com/feeds/posts/default?alt=json&callback=hello";
document.body.appendChild(script);
function hello(json){
if(json.feed.entry.length>4){
var post_num=4;
var id_coll = new Array();
for(i=0; i<post_num; i++){
var ids = json.feed.entry[i].id.$t;
var post_id = ids.substring(ids.indexOf("post-"));
var only_id = post_id.substring(5);
id_coll[i] = only_id;
}
$("#3337831342896423186,#123892177945256656,#9095347670334802803,#2525451832509945787").wrapAll('<div>');
}
};
使用变量选择容器时的情况 2
var script = document.createElement("script");
script.src = "http://youblog-demo.blogspot.com/feeds/posts/default?alt=json&callback=hello";
document.body.appendChild(script);
function hello(json){
if(json.feed.entry.length>4){
var post_num=4;
var id_coll = new Array();
var front_name = "#";
for(i=0; i<post_num; i++){
var ids = json.feed.entry[i].id.$t;
var post_id = ids.substring(ids.indexOf("post-"));
var only_id = post_id.substring(5);
id_coll[i] = only_id;
}
var joined_id_0 = String.concat(front_name,id_coll[0]);
var joined_id_1 = String.concat(front_name,id_coll[1]);
var joined_id_2 = String.concat(front_name,id_coll[2]);
var joined_id_3 = String.concat(front_name,id_coll[3]);
$(joined_id_0,joined_id_1,joined_id_2,joined_id_3).wrapAll('<div>');
}
};
因此,当我使用情况 2 代码时,它不起作用,但情况 1 代码工作正常。谁能帮我解决这个问题
【问题讨论】:
标签: javascript jquery jquery-ui jquery-selectors blogger