我工作的某種形式的UI編碼和寫這jQuery的一行代碼:爲什麼這個jQuery單行程做它應該做的?
$( '輸入[類型=文本]')VAL($(本).attr('默認值「));
意圖是爲每個輸入文本字段賦予其屬性中提供的默認值。
有什麼建議嗎? TIA
我工作的某種形式的UI編碼和寫這jQuery的一行代碼:爲什麼這個jQuery單行程做它應該做的?
$( '輸入[類型=文本]')VAL($(本).attr('默認值「));
意圖是爲每個輸入文本字段賦予其屬性中提供的默認值。
有什麼建議嗎? TIA
嘗試:
$('input[type=text]').each(function() {
$(this).val($(this).attr('default-value'));
});
與你的問題是,$(this)
不是你在使用它的上下文中定義
這是行不通的,因爲this
上下文。不是你所期望的。試試這個:
$('input[type=text]').each(function(){
var $this = $(this);
$this.val($this.attr('default-value'));
});
謝謝你,Simplecoder。 – famagusta 2011-03-13 21:52:23
我想你想:
$('input[type=text]').val(function(i,e) { return $(e).attr('default-value'); });
$('input[type=text]').each(function() {
$(this).val($(this).attr('default-value'));
});
this
您val()
調用內部未引用的元素,但它只是功能的情況下,你」重新運行這個單線程。另外,在定義自定義屬性時,您可能會考慮早些時候投資於HTML5並使用「data- *」約定:在HTML5中,定義自定義屬性是合法的,只要它們的前綴爲「data-」即可。所以,我會使用「data-default」而不是「default-value」。
謝謝,這樣做的訣竅:D – famagusta 2011-03-13 21:52:01