我正在尝试使用 jquery 对象上的 html 方法有条件地设置元素的 html 内容。
我不确定哪种方法是正确的。是否在 html 方法调用中使用 if
语句,或其他内容
例如,我正在尝试使用 jquery 在图像上设置不同的大小。
if(settings.imagesize =='1') {
// do something
}
所以我尝试把它作为参数放在html方法中
.html(if(settings.imagesize=='1') { '<img src="image1.png"/>' })
为了给你上面代码的上下文,下面是完整的结构:
for (var i = 1; i <= 25; i++) {
var clone = drop.clone()
.appendTo('body')
.css(direction, Math.random() * jQuery(window).width() - 20)
.css('top', snowTop)
.html(
if (i == '21') {})
}
我不确定我做错了什么,有人可以帮我解决吗?
谢谢。
最佳答案
您不能在方法调用中执行 if 语句,至少不能这样。
如果你真的必须的话,你可以做一个三元组。
.html(settings.imagesize=='1' ? '<img src="image1.png"/>' : '');
但是最合适的方式是在调用之前处理所有逻辑......
var content;
if(settings.imagesize=='1')
{
content = '<img src="image1.png"/>';
}
something.html(content);
如果您真的需要在 html 调用中使用 if,您可以将其作为立即函数来执行。
.html((function(){
if(settings.imagesize=='1'){
return '<img src="image1.png"/>';
}
else{
return '';
}
})());
但这样一来,您的代码就很难阅读了……
关于javascript - jquery 中的 if 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20139139/