檢查此JS小提琴。 http://jsfiddle.net/jclamp/Nf7Fc/3/jquery爲什麼我可以設置一個標籤的位置而不是另一個?
Name的標籤是通過jquery創建的,然後可以使用它的父字段的位置來設置它的位置。
電子郵件標籤是通過表單驗證創建的。相同的jquery應該能夠設置它的位置,但它不會。爲什麼?
作品:
$('#name').after('<label class="error" for="name">I can create this label via jquery and then move it\'s position.</label><br>');
$('label.error').css('left',
function() {
return $('input[name='+$(this).attr('for')+']').offset().left;
}
);
不起作用:
$("#registerForm").validate();
$('label.error').css('left',
function() {
return $('input[name='+$(this).attr('for')+']').offset().left;
}
);
爲什麼你不想使用CSS?使用jQuery的.css()方法就像使用樣式表一樣。 – Friederike 2013-04-22 11:14:18
http://api.jquery.com/css/ – dreamweiver 2013-04-22 11:16:31
嘗試在表單元素上使用DOMSubtreeModified事件來更新動態創建的標籤 – 2013-04-22 11:16:27