gpt4 book ai didi

jquery - ReplaceWith 第二次不起作用

转载 作者:行者123 更新时间:2023-11-30 23:59:45 24 4
gpt4 key购买 nike

我需要单击一个列表项,将 div 中的文本替换为 xml 文件中节点中的文本。

我单击一个列表项并将结果存储在一个变量中。然后,我加载 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>

感谢帮助。我不轻易问。我花了很多时间在这上面,并以我能想到的各种方式进行了研究。我想我错过了一些非常简单的东西,但就是找不到它。

最佳答案

第一次执行后,$("#slideshow") 不再存在,因为您正在使用 XML 中的 id 替换整个 div .

您需要的是 text() :

$("#slideshow").text(xmlTitle);

html()如果您打算添加 html:

$("#slideshow").html(xmlTitle);

关于jquery - ReplaceWith 第二次不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18108115/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com