以下代码在jquery中返回什么?

时间:2013-01-25 06:36:21

标签: jquery textbox

$("#para").text('')
.append($("input.selected").map(function() {
return $(this).val() || null;
}).get().join("<br/> "));

这里$(this).val() || null;的目的是什么?

2 个答案:

答案 0 :(得分:6)

val()以字符串形式返回输入值。空字符串是JS中的一个虚假值,这意味着如果字符串为空,那么它将被评估为false。如果前一个条件为假,则OR短路运算符||将对其后面的代码进行求值。那么代码正在做的是如果值为空则返回null

答案 1 :(得分:2)

$.map() ...将input.selected的值映射到数组.. join将它们与<br>连接起来。

  

将数组或对象中的所有项目转换为新的项目数组。

因此,您的代码会将input的{​​{1}}值与selected的{​​{1}}值附加到ID为para的元素

示例..

<div id="para"></div>

<input class="selected" value="test"/>
<input class="selected" value="test2"/>
 <input class="selected" value=""/>  // || NULL works here so returns null

上面的函数会追加这个

test <br> test2

#para

最终结果

<div id="para">test <br> test2</div>  //result is the same