所以我设置了两个javascript数组来从某些php中提取信息。一个数组获取要单击的类别的名称,而另一个数组存储该类别的类和id标记。 class和id标签除了css类型之外是相同的,但是数组需要将它们输出到文档元素中,然后在单击时影响文档的相关区域。我还需要从数组中删除重复项,这似乎不能在我当前的代码下工作:
<script type="text/javascript">
var BookSeries = [];
var BookClass = [];
var i=0;
</script>
然后从php中提取数组的变量并以这种方式输出:
<script type="text/javascript">
var uniqueSeries = BookSeries.filter(function(elem, pos) {
return BookSeries.indexOf(elem) == pos;
});
var uniqueClass = BookClass.filter(function(elem, pos) {
return BookClass.indexOf(elem) == pos;
});
while (uniqueSeries[i]) {
document.write( "<span id='"+uniqueClass[i]+"'>"+uniqueSeries[i]+"</span>" );
i++;
}
for(var i = 0; i < uniqueClass.length; i++) {
$np("#"+uniqueClass[i]).click(function(){
$np(".postitem").fadeOut(200);
$np("."+uniqueClass[i]).fadeIn(200);
});
}
</script>
答案 0 :(得分:0)
您正在使用jquery,因此您可以执行以下操作将元素附加到DOM:
var htmlString = "";
for (var i = 0; i < uniqueSeries.length; i++) {
htmlString += "<span id='"+uniqueClass[i]+"'>"+uniqueSeries[i]+"</span>";
}
$("#myContainer").html(htmlString);
不确定$ np是什么,所以我假设你的意思是jquery的$。
for(var i = 0; i < uniqueClass.length; i++) {
var uClass = uniqueClass[i];
$("#" + uClass).click(function(){
$(".postitem").fadeOut(200);
$("." + uClass).fadeIn(200);
});
}
编辑:
“#myContainer”指的是要将html追加到的dom元素的id。如果您只想将其附加到文档中,您可以执行以下操作:
$(document).appendTo(htmlString);
另请参阅我更新了上面的代码,以反映您对uniqueClass数组的评论。