第一個參數我有下面的代碼片段:的jQuery強調作爲功能
MARKUP:
<tr name="tr3" id="tr3">
<td>
<input type="text" class="common_cls" name="dt[]" id="dt1">
</td>
<td>
<input type="hidden" name="fn[]" id="fn1">
<span id="sp1"><a href="#" id="ah1">choose file</a><span>
<input type="file" name="fff[]" id="ff">
<input type="text" style="display:none">
</td>
</tr>';
JAVASCRIPT
$(document).on('click', '#add_row', function() {
var row = $("table#DocTable tr:eq(3)");
row.clone(true)
.show()
.find("a, input, span").each(function() {
$(this)
.val('')
.attr('id', function(_, id) {
var newcnt = id + count;
return id + count;
});
})
.end()
.appendTo("table");
count++;
我以前寫這一年多,我不得不援助有問題的位。
作爲在.attr方法中調用的函數的第一個參數,下劃線的用途是什麼?
這個函數到底有多精確?是否只是將所有a
,span
和input
標籤中的當前id
替換爲增加的數字?
爲什麼這個未使用的變量是必需的?爲什麼不直接寫'function(id){// blah blah blah}'? – gibberish 2013-04-23 21:01:02
@gibberish,因爲第一個參數包含索引,並且您希望該值不是索引。 – 2013-04-23 21:02:32
@gibberish,無論你想要什麼,你都可以調用你的函數參數,而JS解釋器不能通過'id'猜測你實際上是指第二個參數而不是第一個參數。不幸的是,JS中不支持「關鍵字參數」。 – ubik 2013-04-23 21:06:01