1

我一直在尝试让一些 jQuery 运行来替换对象的 html。但是我怎样才能在里面放一个 if 语句,就像这样。

$(this).html("<select id=\'status\' name=\'status[]\' multiple><option value=\'1\'"+if(string_contains(selected, 1)) { document.write(\' SELECTED\'); }+"></option></select>");

if 语句使它停止工作。

还有一个小问题。

为什么我不能像这样打破 .html 内部:

        $(this).html("
<select id=\'status\' name=\'status[]\' multiple>
<option value=\'1\'"+if(string_contains(selected, 1)) { document.write(\' SELECTED\'); }+"></option>
</select>");
4

1 回答 1

4

你所拥有的只是语法不正确。

$(this).html("<select id=\'status\' name=\'status[]\' multiple><option value=\'1\'" +
  (string_contains(selected, 1) ? "\' SELECTED\'" : "") +
  "></option></select>"
);

if声明就是——一个声明。它不能作为 JavaScript 表达式的一部分。但是,? :运营商会做你想做的事。它采用以下形式:

query ? expr1 : expr2

query表达式被评估。如果结果是“真实的”,则总体结果是expr1; 否则,它是 的值expr2。的运算符优先级? :非常低,因此将整个内容括起来通常是个好主意。

于 2012-10-27T12:52:24.910 回答