Javascript 添加/追加元素以添加此块
我正在使用AddThis共享框,它看起来像这样:Javascript 添加/追加元素以添加此块,javascript,jquery,addthis,Javascript,Jquery,Addthis,我正在使用AddThis共享框,它看起来像这样: <div class="at4-share-outer addthis-smartlayers addthis-smartlayers-desktop" aria-labelledby="at4-share-label" role="region"> <div id="at4-share-label">AddThis Sharing</div> <div id="at4-share" class="a
<div class="at4-share-outer addthis-smartlayers addthis-smartlayers-desktop" aria-labelledby="at4-share-label" role="region">
<div id="at4-share-label">AddThis Sharing</div>
<div id="at4-share" class="addthis_32x32_style atss atss-left addthis-animated slideInLeft at4-show">
<a class="at4-share-btn at-svc-facebook" href="#"><span class=" at4-icon aticon-facebook" title="Facebook">Facebook</span></a>
<a class="at4-share-btn at-svc-twitter" href="#"><span class=" at4-icon aticon-twitter" title="Twitter">Twitter</span></a>
<a class="at4-share-btn at-svc-linkedin" href="#"><span class=" at4-icon aticon-linkedin" title="LinkedIn">LinkedIn</span></a>
<a class="at4-share-btn at-svc-pinterest_share" href="#"><span class=" at4-icon aticon-pinterest_share" title="Pinterest">Pinterest</span></a>
<a class="at4-share-btn at-svc-google_plusone_share" href="#"><span class=" at4-icon aticon-google_plusone_share" title="Google+">Google+</span></a>
<div id="at4-scc" class="at-share-close-control ats-gray at4-show at4-hide-content" title="Hide">
<div class="at4-arrow at-left">Hide</div>
</div>
</div>
<div id="at4-soc" class="at-share-open-control-left ats-gray at4-hide" title="Show">
<div class="at4-arrow at-right">Show</div>
</div>
</div>
添加此共享
隐藏
显示
我想在Google Plus共享按钮之后添加一个YouTube关注按钮,其代码如下:
<a style="background-color:#CC1F1F;" data-svc="youtube" data-svc-id="1" title="Follow on Youtube" href="http://www.youtube.com/channel/test?sub_confirmation=1" target="_blank"><span class="at4-icon at4-icon aticon-youtube"></span></a>
我尝试了jQuery after()和insertAfter(),但没有成功
$( ".at-svc-google_plusone_share" ).after( $( "<p>Test</p>" ) );
$( "<p>Test</p>" ).insertAfter( ".at-svc-google_plusone_share" );
$(window).load(function() {
// executes when complete page is fully loaded, including all frames, objects and images
$( "<p>Test</p>" ).appendTo( ".at4-share-btn" );
});
$(.at-svc-google\u plusone\u share”)。之后($(“Test”);
$(“Test”).insertAfter(“.at-svc-google\u plusone\u share”);
$(窗口)。加载(函数(){
//在完全加载整个页面(包括所有帧、对象和图像)时执行
$(“测试””)附录(“.at4共享btn”);
});
可以这样做吗?尝试删除jquery.after()参数中的$
您还可以在父div上使用.append()确定,最终得到了解决方案。我需要在触发函数之前添加一个超时 scripts.js文件:
(function($) {
$( document ).ready(function() {
setTimeout(function(){
$( ".at-svc-google_plusone_share" ).after( "<p>Test</p>" );
}, 1000);
});
})(jQuery);
}我认为问题在于,我的函数是在页面上的框可用之前运行的,因为AddThis框是最后加载的。我需要在google链接之后添加Youtube链接,但在父div中。然后您可以在$(document).ready()事件上触发该函数。我正在wordpress网站中使用它。我正在注册脚本并将其加入队列,然后我将附加脚本加入队列,并依赖于上一个脚本。但由于某些原因,这还不够。
add_action( 'wp_enqueue_scripts', 'enqueue_and_register_my_scripts' );
function enqueue_and_register_my_scripts(){
wp_register_script( 'addthis', 'http://s7.addthis.com/js/300/addthis_widget.js#pubid=youridhere', array(), false, true);
wp_register_script( 'addthis-append', 'path/js/scripts.js', array('addthis'), false, true);
wp_enqueue_script( 'addthis' );
wp_enqueue_script( 'addthis-append' );