for ループで (XML ファイルから) 動的に作成された div に適用するときに、セレクターで変数を使用しようとしています。previewDialog は、最後の div をクリックしたときにのみ開きます。各概要 div をクリックしたときに previewDialog を開くにはどうすればよいですか?
<script type="text/javascript">
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", "Library.xml", false);
xmlhttp.send();
xmlDoc = xmlhttp.responseXML;
var f = xmlDoc.getElementsByTagName("FeaturedEntry");
var x = xmlDoc.getElementsByTagName("BookEntry");
for (b = 0; b < x.length; b++) {
var bToString = b.toString();
var overviewOpener = "#overview" + bToString;
var previewDialog = "#preview" + bToString;
// increase the default animation speed to exaggerate the effect
$.fx.speeds._default = 1000;
$(function () {
$(previewDialog).dialog({
autoOpen : false,
show : "blind",
hide : "explode"
});
$(overviewOpener).click(function () {
$(previewDialog).dialog("open");
return false;
});
});
document.write(overviewOpener + " " + b.value + " " + bToString);
document.write("<div id='overview");
document.write(b);
document.write("'><img id='cover' src='/ClientBin/");
icon = x[b].getAttribute("Icon");
document.write(icon);
document.write("'/><br><strong><a href='http://www.google.com'>");
title = x[b].getAttribute("Title");
document.write(title);
document.write("</a></strong><br>");
author = x[b].getAttribute("Author");
document.write(author);
document.write("<br>");
document.write("Rating:");
rating = x[b].getAttribute("Rating");
numStars = Math.round(rating * 5);
for (n = 0; n < numStars; n++) {
document.write("<img src='/Media/star.png'/>");
}
document.write("<br><a><img id='button' src='Media/Small_iBookstore_Badge.gif' /></a>");
document.write("</div>");
document.write("<div id='preview");
document.write(b);
document.write("'>This is a test ");
document.write(b);
document.write("</div>");
}
</script>