我有一个JQuery片段,它被保存到一个变量名中,这有助于在页面上创建一个通知。如果类已经添加到页面中,我将尝试更改与html元素关联的类。这是在一个WordPress插件中完成的。
下面是原图,下面是我第一次尝试。
noticeItemOuter = jQuery('<div></div>').addClass('notice-item-wrapper');我的尝试:
noticeItemOuter = if (JQuery(".notice-item-wrapper").length > 0) {
jQuery('<div></div>').addClass('notice-item-wrapper2');
}else{
jQuery('<div></div>').addClass('notice-item-wrapper');
}我在if else语句中添加了控制台日志,但从未看到它们弹出。
发布于 2017-10-20 18:39:14
如果语句不完全那样工作,但是可以使用三元操作符,它的功能与(expression)? true statement: false statement;相同。
noticeItemOuter = ((jQuery(".notice-item-wrapper").length > 0)?
jQuery('<div></div>').addClass('notice-item-wrapper2'):
jQuery('<div></div>').addClass('notice-item-wrapper')); 发布于 2017-10-20 18:48:26
你不能给这样的变量赋值。你为什么不做这样的事呢?
if (jQuery(".notice-item-wrapper").length > 0) {
noticeItemOuter = jQuery('<div></div>').addClass('notice-item-wrapper2');
} else {
noticeItemOuter = jQuery('<div></div>').addClass('notice-item-wrapper');
}发布于 2017-10-20 18:48:53
jQuery(function ($) { // DOM ready and $ alias secured
// Check if element already exists
var noticeItemExists = $(".notice-item-wrapper").length;
// New Element creation
$("<div/>", {
"class": noticeItemExists ? "notice-item-wrapper2" : "notice-item-wrapper",
appendTo: "body" // or wherever you want to insert your element
});
});
https://stackoverflow.com/questions/46855303
复制相似问题