javascript - jquery 中的 if 条件

标签 javascript jquery html

我正在尝试使用 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/

相关文章:

javascript - Knockout.js 单击更改(不切换)css 类

javascript - Chrome 外部扩展

javascript - 根据所选选项显示 HTML

javascript - 使用 VueJS v-on :click and Vanilla JS 在点击时切换折叠不同的 div

html - CSS-如何在不添加边距的情况下使页面居中?

javascript - 你如何使用 lodash 链接函数?

javascript - 将 Firefox 小书签加载为普通 URL

jquery - 基础轨道加载微调器不会消失

javascript - 如何让 x-editable 与 ajax 内容一起工作

javascript - Jquery 动画左悬停无法正常工作