目前,我正在使用script来显示/隐藏许多基于WordPress的网站上的评论。该脚本基本上在每个站点上按预期工作。但是,我遇到了使用Hero主题的网站问题。在索引页面上,主题从X个帖子中提取内容。不幸的是,这会导致多次调用脚本并导致第一个帖子获得X个显示/隐藏按钮而其他帖子不受影响。
我不确定如何修改脚本以便单独定位每个评论部分。当然,如果主题作者没有在索引页面上为相同的id(#commentBox)分配所有评论部分,那么任务会更容易。我已经考虑过限制脚本的范围(即,让脚本的每个实例仅影响其中包含的帖子内容)并更改脚本的实际功能以考虑多个注释部分。不幸的是,我还没有按照预期的那样工作。
以下链接是显示问题的索引页面:http://www.sitestyling.ca/abbyphotography/blog/。第一个链接(即脚本中的一个链接)指向一个页面,该页面实现了脚本并按预期运行。
非常感谢任何帮助或建议。
答案 0 :(得分:1)
所以说明这里很明显,拥有多个具有相同ID的元素是非常糟糕的mojo。在任何程度上你可以控制如何加载这些WP站点我鼓励你努力修改脚本重复注入到页面中,因为即使在进行更改之后,由于你有多个块定义文档,你的脚本会重复运行.ready功能。你可以通过全局来改善这种情况,以判断你的脚本是否已经被解雇,但是这有点过时...
我原则上建议您在脚本中添加逻辑以执行以下操作:
这里的前几点可以通过以下方式完成:
var uniqueAppend = 1;
var tempName = 'commentBox';
while(jQuery("#commentBox").length > 0 ){
jQuery("#commentBox").attr('id',tempName + uniqueAppend++).addClass('commentContainer')
}
现在,您可以使用jQuery(“。commentContainer”)一次性找到所有注释DIV,然后遍历该集合以执行您需要的任何操作。