我需要點擊一個列表項來替換div中的文本和xml文件中節點的文本。replaceWith第二次不工作
我點擊一個列表項並將結果存儲在一個變量中。然後加載xml,找到我需要的節點的標題,並對結果進行變量。然後我運行一個if語句,如果兩個變量相等,則將xml放入div中。
我第一次點擊一個列表項時,這是有效的。列表中正確的項目與xml中的正確節點相匹配,正確的文本放置在div中。
但是,當我然後點擊不同的列表項時,文本不會被替換。警報顯示第二次點擊獲得了正確的信息,但最終,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>
幫助表示讚賞。我不會輕易問。我花了很多時間在這方面進行研究,並以我能想到的方式進行研究。圖我錯過了很簡單的東西,但找不到它。
does xmlTitle包含一個幻燈片ID的元素?如果沒有,那麼這就是爲什麼它不能第二次工作。 #slideshow不存在。很可能你真正需要的是.html而不是replaceWith。 –
if(xmlTitle = htmlTitle)看起來不正確。你的意思是if(xmlTitle == htmlTitle)? –