如果元素存在则添加新div

时间:2018-03-08 04:08:23

标签: jquery

我一直在寻找解决方案,我已经尝试了所有这些解决方案。但是这个片段我得到了错误:

if (jQuery('.page-id-5356 .uts-main-login')[0]){
  jQuery('.entry-content #em-wrapper').add('<div class="uts-login">text</div>');
}

关于为什么这不起作用的任何想法?我要么得到任何东西,要么是2或者是undefined。没有创建新的div或任何东西。基本上,当.uts-main-login可见时,我希望在一个页面上显示一个按钮。它杀了我!已经好几个小时:(

3 个答案:

答案 0 :(得分:1)

使用如下

if (jQuery('.page-id-5356 .uts-main-login').length){
 jQuery('.entry-content #em-wrapper').append('<div class="uts-login">text</div>');
}

答案 1 :(得分:1)

使用append

if (jQuery('.page-id-5356 .uts-main-login')[0]){
  jQuery('.entry-content #em-wrapper').append('<div class="uts-login">text</div>');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='page-id-5356'>
<div class='uts-main-login'></div>
</div>
<div class='entry-content'>
<div id='em-wrapper'></div>
</div>

答案 2 :(得分:0)

if(jQuery('.page-id-5356 .uts-main-login').is(":visible")) {
    jQuery('#em-wrapper').append('<div class="uts-login">text</div>');
}
  1. 您可以使用is(':visible')检查元素是否可见。
  2. 如果你有元素的id,则不需要在它之前使用类名。
  3. 使用append()添加元素