Javascript jQuery中的内联if-else语句

Javascript jQuery中的内联if-else语句,javascript,jquery,Javascript,Jquery,我有一个jQuery函数,它由两个不同的按钮执行 $("#btnSearch, #btnDirectorSearch").click(function () { 此函数生成的html部分取决于按下哪个按钮。我使用数据属性存储变量,如下所示: var div = $(this).data("str"); 我正在构建的html字符串取决于变量“div”的值。有没有办法在jQuery中执行内联if/else语句 if div = "choice1" { html += '<tr da

我有一个jQuery函数,它由两个不同的按钮执行

$("#btnSearch, #btnDirectorSearch").click(function () {
此函数生成的html部分取决于按下哪个按钮。我使用数据属性存储变量,如下所示:

var div = $(this).data("str");
我正在构建的html字符串取决于变量“div”的值。有没有办法在jQuery中执行内联if/else语句

if div = "choice1" {
    html += '<tr data-str = "str1" data-dataItem = "dataItem1" data-result-title = "' + name + '" data-result-id="' + sel + '">';

} else {
    html += '<tr data-str = "str2" data-dataItem = "dataItem2" data-result-title = "' + name + '" data-result-id="' + sel + '">';
}
如果div=“choice1”{
html+='';
}否则{
html+='';
}
这看起来很麻烦,我希望有一种更好的jQuery方法来实现这一点


谢谢

您有语法错误

if div = "choice1" 
应该是

if (div == "choice1")
无论如何,您要寻找的模式是:

div == "choice1" ? <code for true> : <code for false>
div==“choice1”<真代码>:

您可以使用
条件吗?真时编码:假时编码

但我建议您只使用花括号,因为它看起来更好,更容易调试。 还有一件事,按照下面的方法做

if(div==="choice1"){

}
else{
}

使用

因为只有数字会在输出中发生变化,所以可以执行以下操作:

var num = div == "choice1" ? 1 : 2;
html += '<tr data-str="str'+num+'" data-dataItem="dataItem'+num+'" data-result-title="'+name+'" data-result-id="' + sel + '">';
var num=div==“choice1”?1 : 2;
html+='';

如果您的选择有限,您可以添加一个小的查找数组:

var choices = {
    choice1: {
        str: "str1",
        data: "dataItem1"
    },
    choice2: { ... }
};

html += '<tr data-str="' + choices[div].str 
    + '" data-dataItem="' + choices[div].data
    + '" data-result-title="' + name + ... etc;
var选项={
选择1:{
str:“str1”,
数据:“数据项1”
},
选项2:{…}
};

html+='是的javascript…抱歉,我只是想知道是否有更好的方法使用jQuery库。我不知道-我认为内联在视觉上更好,在赋值方面更容易阅读和理解。对我来说似乎更直观。