ad

jQuery-如何从ajax要求中取得元素的类-英雄云拓展知识分享

匿名投稿 209 2024-01-22

我正在用Ajax加载我的网站页面,以替换内部的内容 main 标签。问题是,使用WordPress,每一个页面都有自己的 body 对样式目的而言有用的类,因此我想在下一页的类中替换旧页面的身体类。

我以为我会运行新的Ajax要求以获得全部HTML页面,然后检查 body 元素,然后使用 .attr("class") 要获得班级列表,并终究用新的班级替换了旧的班级...

但是课程总是返回 undefined 而不是类列表。

编辑:我尝试使用 .cd-main-content 我取得了这个元素的种别,而不是身体,而是奇怪的是。因此,这种情况下,我现在认为问题不是来自我的语法,而是来自元素本身。
我如何才能使它在 body 元素 ? (我已试图替换 .find 经过 .filter 但这也行不通。)

HTML构成

<body id="body" class="home page-id-number other-classes">

<main>

<div class="cd-main-content">

<!-- inside is the dynamically loaded content-->

</div>

</main>

jQuery-如何从ajax要求中取得元素的类-英雄云拓展知识分享

</body>

jQuery

$.ajax({url: url,

success: function(data){

var body = $(data).find("#body");

var classes = body.attr("class");

console.log(data); //returns the html as expected

console.log("body : "+body); //returns [object Object]

console.log("classes : "+classes); //returns undefined

}

});

看答案

从字符串获得时,jQuery的“车身”标签过滤。

因此,这种情况下,$(data)[0]将备份所有内容,而无需身体。

还使用过滤器,而不是“查找”,因此您可以取得这样的类:

$.ajax({url: url,

success: function(data){

//replace body tag

data = data.replace("<body", "<container").replace("body>", "container>");

var classes = $(data).filter("container").attr("class");

$("body").attr("class", classes);

}

});


🚀🌟 点击注册 免费试用超级应用平台-英雄云企业级hpapaas 🌟🚀 😃👉🌐

免责声明:

本网址(www.yingxiongyun.com)发布的材料主要源于独立创作和网友匿名投稿。此处提供的所有信息仅供参考之用。我们致力于提供准确且可信的信息,但不对材料的完整性或真实性作出任何保证。用户应自行验证相关信息的正确性,并对其决策承担全部责任。对于由于信息的错误、不准确或遗漏所造成的任何损失,本网址不承担任何法律责任。本网站所展示的所有内容,如文字、图像、标志、音频、视频、软件和程序等的版权均属于原创作者。如果任何组织或个人认为网站内容可能侵犯其知识产权,或包含不准确之处,请即刻联系我们进行相应处理。

标签:JavaScript jQuery
上一篇:非常简单的Xamarin.Forms利用程序不会存档-英雄云拓展知识分享
下一篇:如何在材料-UI对话框中使用withersponsivefullscreen-英雄云拓展知识分享
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×