gpt4 book ai didi

javascript - 尝试在 .load 触发后注入(inject)元素

转载 作者:行者123 更新时间:2023-11-28 13:55:49 24 4
gpt4 key购买 nike

从外部 xml 文件加载 .myShop 后,我尝试设置它的内容。到目前为止还没有运气。我认为我的时机是正确的,但我也认为加载的元素可能不是 DOM 的一部分?

发生的情况如下:“index.html”加载“template_xml.js”。 “template_xml.js”触发一个函数以从“common.html”获取一些常见的页面元素。到这里一切都运行良好。然后“template_xml.js”从“index.xml”加载一些数据,其中我想用商店名称替换每次出现的“MY SHOP”。

我认为这是故障代码:

            $(".pagecontent").html($(this).find("pageText").text(), function(){
$(.shop_name).text("My Great Store Name");
});

但它没有将 .shop_name 的 html 设置为“My Great Store Name”。感谢所有帮助。网站地址为http://chainery.comoj.com

编辑我会尝试添加相关代码而不至于不知所措。

INDEX.HTML - 这是一个非常简单的 html 文件,就像模板一样。它具有所有 html 元素并加载 javascript。这是“pagecontent”所在的部分

         <!-- Begin Right Column -->
<div id="content">
<div class="page_navigation"></div>
<div id="loading"></div>
<div class="pagecontent"></div> <!-- USED FOR NON PRODUCT BOXES -->
<ul class="content"></ul> <!-- USED FOR PRODUCT BOXES -->
<div style="clear:both; height:10px;"><!--spacer for navigation--></div>
<div class="page_navigation"></div>
</div>
<!-- End Right Column -->

这会加载 template_xml.js - 该文件将“common.html”文件的不同元素加载到 index.html 中,只是一段文本。

COMMON.HTML - 此页面是纯 html,包含驻留在多个页面上的元素。

<!-- START Navigation -->
<div id="menu">
<ul id="navMenu">
<li id='home'><a href="#index" rel="ajax">Home</a></li>
<li id='about'><a href="#">About</a></li>
<li id='info'>
<a href="#information">Information</a>
<ul>
<li><a href="#metals">Metals</a></li>
<li><a href="#sizing">Jewelry Sizing</a></li>
<li><a href="#findings">Findings</a></li>
</ul>
</li>
<li id='faqs'><a href="#faqs" rel="ajax">FAQs</a></li>
<li id='privacy'><a href="#">Privacy</a></li>
<li id='contact'><a href="#">Contact</a></li>
</ul>
</div>

TEMPLATE _XML.JS - 此页面执行 JavaScript,首先将公共(public)元素从 common.html 加载到 index.html 中。然后加载 xml 文件来填充其余部分。

这是加载 xml 文件并将其放入 index.html 的函数:

 /* Load up non-product pages */
function get_page_XML(thePage){
//hide the content
$('.page_navigation').hide();
$('.content').hide();
$('.pagecontent').hide();
$('#loading').show();
/* unhighlight current menu tab */
$('#navMenu li[class="current_page_item"]').attr('class', '');
$.wtMeta('hTab','');

$.get("page_xml/"+thePage+".xml", function(data) {
/* set the meta tag that identifies this xml */
$.wtMeta('xmlFile',thePage);
if(($(data).find(':first-child').attr('type')) == "content"){
$(".pagecontent").html('');
$(data).find('Page').each(function () {
/* set the title */
$("title").text($(this).find("pageName").text()+" jewelry");
//document.title = $(this).find("pageName").text();
/* if the title is photos do something */



/* set the content */
$(".pagecontent").html( $(this).find("pageText").text() );
$(".shop_name").text("My Great Store Name");




/* set correct menu tab */
$.wtMeta('hTab',$(this).find("hMenuHighlight").text());
});

$(".pagecontent").show();
hMenuTabs();
}else{
/* load product page */
loadProducts(data,thePage);
}
$('#loading').hide();
});
}

感谢您的宝贵时间,托德

最佳答案

你缺少引号,这样做

$('.shop_name').html("My Great Store Name");

关于javascript - 尝试在 .load 触发后注入(inject)元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7994960/

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