首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在元素尚未出现的情况下使用jQuery ()或append()添加元素

如何在元素尚未出现的情况下使用jQuery ()或append()添加元素
EN

Stack Overflow用户
提问于 2019-09-03 17:19:48
回答 2查看 23关注 0票数 0

我想运行以下jQuery

代码语言:javascript
运行
复制
$('.existing-element').after('<div class="new-element"></div>');

但是只有当元素“新元素”还不存在的时候。换句话说,我试图阻止上面的jQuery多次添加该元素。

我希望在我的标题中添加元素(在我的商业徽标旁边)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-03 17:23:09

要检查新元素是否已经存在,请检查length属性:

代码语言:javascript
运行
复制
if( !$('div.new-element').length ) $('.existing-element').after('<div class="new-element"></div>');

如果div已经存在,则长度将大于零。

票数 1
EN

Stack Overflow用户

发布于 2019-09-03 17:24:47

如果只有一个.existing-element,您可以通过nexthasClass测试它是否已经拥有了.new-element

代码语言:javascript
运行
复制
var $el = $(".existing-element");
if (!$el.next().hasClass("new-element")) {
    $el.after('<div class="new-element"></div>');
}

如果文档中有几个.exiting-element,则需要使用eachfilter。用each

代码语言:javascript
运行
复制
$(".existing-element").each(function() {
    var $el = $(this);
    if (!$el.next().hasClass("new-element")) {
        $el.after('<div class="new-element"></div>');
    }
});

filter

代码语言:javascript
运行
复制
$(".existing-element").filter(functino() {
    return !$(this).next().hasClass("new-element");
}).after('<div class="new-element"></div>'); 

关于.next().hasClass("new-element")的注意:即使没有下一个元素,它也能正常工作。在这种情况下,.next()将返回一个空的jQuery集,hasClass将始终返回false。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57776203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档