我需要单击列表项以将 div 中的文本替换为 xml 文件中节点中的文本。
我单击一个列表项并将结果存储在一个变量中。然后我加载 xml,找到我需要的节点的标题,并为结果创建一个变量。然后我运行一个 if 语句,如果两个变量相等,则将 xml 放入一个 div 中。
我第一次单击列表项时,这是可行的。列表中正确的项目与 xml 中的正确节点匹配,并且正确的文本放置在 div 中。
但是当我然后单击不同的列表项时,文本不会被替换。一个alert显示第二次点击得到了正确的信息,但最后div内容没有被替换。
在这里演示:http: //mwebphoto.com/mwebphoto/html/3rdJqueryPage.html
代码在这里:
<body>
<div class="slideshowContainer">
<div id="slideshow"></div>
</div>
<ul id="gallery_id">
<li id="newYork">New York</li>
<li id="disconnection">Disconnexion</li>
<li id="jackAtSea">Jack at Sea</li>
</ul>
<script>
$(document).ready(function(){
$("#gallery_id li").on('click', function(e) {
var htmlTitle = (this.id);
$.ajax({
type: "GET",
url: "/mwebphoto/xml/albums.xml",
dataType: "xml",
success: function(xml) {
$(xml).find('photoAlbum').each(function(){
var xmlAlbum= $(this);
var xmlTitle = $(this).find('title').text();
var xmlEmbedCode = $(this).find('embedCode').text();
alert ('this is html titled ' + htmlTitle);
alert ('this is xml titled ' + xmlTitle);
if(xmlTitle=htmlTitle)
alert ('this is matched xml title' + xmlTitle);
$("#slideshow").replaceWith(xmlTitle);
});
}
});
});
});
</script>
</body>
帮助表示赞赏。我不轻易问。我在这方面花了很多时间,并以我能想到的各种方式进行了研究。图我错过了一些非常简单的东西,但就是找不到。