Javascript 函数的作用是:从WordPress帖子中剥离标记
我在使用jQuery.load动态加载的HTML div中显示图像时遇到问题。我当前使用的jQuery函数包括以下内容:Javascript 函数的作用是:从WordPress帖子中剥离标记,javascript,jquery,ajax,image,Javascript,Jquery,Ajax,Image,我在使用jQuery.load动态加载的HTML div中显示图像时遇到问题。我当前使用的jQuery函数包括以下内容: jQuery(document).ready(function(e) { // Past sendout nav trigger function e( ".btn--nav-trigger" ).click(function() { e( this ).toggleClass( "btn--nav-trigger-active" );
jQuery(document).ready(function(e) {
// Past sendout nav trigger function
e( ".btn--nav-trigger" ).click(function() {
e( this ).toggleClass( "btn--nav-trigger-active" );
e( ".sendout__list" ).toggleClass( "sendout__list--open" );
});
// AJAX .load function for sendout post content
e( ".sendout-link" ).click(function() {
e( ".btn--nav-trigger" ).toggleClass( "btn--nav-trigger-active" );
e( ".sendout__list" ).toggleClass( "sendout__list--open" );
var post_url = e( this ).attr( "href" );
e( "#sendout-container" ).html( '<div class="loading"></div>' );
e( "#sendout-container" ).load( post_url + "#sendout-content", function( response, status, xhr ) {
if ( status == "error" ) {
var msg = "Sorry but there was an error: ";
e( "#sendout-container" ).html( msg + xhr.status + " " + xhr.statusText );
}
});
return false;
});
});
更新二
我已经修复了我的主题文件和JavaScript,以使用正确的元素动态加载post类型的内容块。我已经更新了我的.load;函数来实现Alexander O'Mara建议的修复
现在正在通过.load;加载图像 根据您的描述,您正在尝试将整个HTML文档加载到另一个HTML文档中,这非常奇怪,而且可能容易出错 用于加载HTML内容并将其放入另一个元素中。通常,HTML内容只包含您想要的内容,而不包含包含、和标记的完整文档 作为一种解决方案,您可能希望使用jQuery.load来指定页面中要使用的元素的ID,而不是整个文档 例如: e sendout container.load post_url+'some element id',函数响应,状态,xhr{ 或者,您可以使用jQuery.ajax加载HTML文档并提取要使用的元素的HTML 例如: $.ajax{ //示例URL。 网址:'https://cors-anywhere.herokuapp.com/https://example.com/' }.donefunctiondata{ //解析HTML文档。 var doc=new DOMParser.parseFromStringdata,“text/html”; //从文档中选择一些内容。 var body=$doc.find'body'.html; //将该内容放入元素中。 $'content'.htmlbody; }; 内容{ 边框:纯黑2px; } 加载。。。
没有理由会发生这种情况。您如何确定图像不在那里?因为它们在页面上没有显示为图像,或者您是否确实验证了img标记在输出中不存在?看看这是否回答了您听起来类似的问题-@Utkanos我已经查看了呈现的页面和源,并且在这两个方面都进行了检查如果我查看WordPress/PHP加载的页面,图像不会被剥离。如果你不知道,WP网站有一个可以用来获取部分内容的工具。我实现了片段加载功能,但是图像仍然被剥离。我有从WordPress模板部分加载双发送模板。模板部分仅包括必要的HTML和WP查询。您有将.load替换为.ajax的技巧吗?@MikeHermary我添加了一个示例,使用.ajax加载HTML,将其解析为新文档,并从中选择一些内容。感谢共享ajax代码。我有ied实现了代码,但仍然存在同样的问题。出于某些原因,图像被剥离。你知道WordPress与通过JavaScript加载的图像是否有冲突吗?@MikeHermary据我所知,肯定还有其他问题。我会再次检查图像标记是否在AJAX响应中。我想我已经解决了问题这个问题似乎与主题文件结构以及我如何通过JavaScript加载内容有关。使用.load在这个实现中起作用。感谢您的帮助。
<?php if(get_field( 'meme_one_image' )): ?>
<div class="sendout__row sendout--meme">
<?php
$memeOneImage = get_field( 'meme_one_image' );
if( !empty($memeOneImage) ): ?>
<img src="<?php echo $memeOneImage['url']; ?>" alt="<?php echo $memeOneImage['alt']; ?>" />
<div class="sendout--meme_share">
<h4>Share this meme</h4>
<a href="http://www.facebook.com/sharer/sharer.php?u=<?php echo $memeOneImage['url']; ?>" class="button">Facebook</a>
<a href="http://twitter.com/intent/tweet?text=<?php echo $memeOneImage['title'] .' : '. $memeOneImage['url']; ?>" class="button">Twitter</a>
<button class="button copy-button" data-clipboard-text="<?php echo $memeOneImage['url']; ?>">Copy URL</button>
</div>
<?php endif; ?>
</div>
<?php endif; ?>