我有一个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语句中添加了控制台日志,但从未看到它们弹出。
答案 0 :(得分:1)
您不能分配这样的变量。你为什么不这样做?
if (jQuery(".notice-item-wrapper").length > 0) {
noticeItemOuter = jQuery('<div></div>').addClass('notice-item-wrapper2');
} else {
noticeItemOuter = jQuery('<div></div>').addClass('notice-item-wrapper');
}
答案 1 :(得分:0)
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://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator
答案 2 :(得分:-1)
如果陈述不完全正常,但您可以使用以相同方式运作的三元运算符(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'));