2011-05-06 74 views
1

有沒有辦法重置/更新after()元素?不要添加另一個after()文本。謝謝jquery reset after()

+1

你能具體談談你想要完成的任務? – drudge 2011-05-06 22:23:10

回答

0

以後有回調參數嗎?如果是這樣,你可以用它來調用一個你想做的事情。

0

你的問題不清楚。我會asume要修改與.after()

而不是做這個的補充元素:

$("#elem1").after('<div id="after />"); 

你可以這樣做(使用insertAfter

$('<div id="after" />').insertAfter("#elem1").attr("width", 200).html("hi") ...; 

希望這有助於。 乾杯。

0

當你添加的元素,給它一個名字

var newElement = $('<span>Some new stuff</span>'); 
$('.whatever').after(newElement); 

然後,當你想改變它,只需刪除以前的一個第一

newElement.remove(); 
newElement = $('<div>And now for something completely different</div>'); 
$('.whatever').after(newElement); 

你可以寫一個函數,它使用.data()來記住新的元素:(我會稍微改變一下名稱)

$.fn.addUniqueSomething = function (content) { 
    var existing = this.data('something-that-was-already-added'); 
    if (existing) { 
     existing.remove(); 
    } 

    var something = $(content); 
    this.after(something); 
    this.data('something-that-was-already-added', something); 
}; 

然後你可以使用

$('.whatever').addUniqueSomething('<span>Some new stuff</span>'); 
// and later... 
$('.whatever').addUniqueSomething('<div>And now for something completely different</div>'); 

,第二個將取代第一

0

也許這將有所幫助。

(爲形式的虛控制器功能發送表單父DIV的服務器輸入參數ID,輸出是1真,0假)

function emptynessCntrl(elementosForControl){ 
     var controlResult=1; 
     $(elementosForControl).find('input').each(function() { 
      if($(this).val().trim()===""){ 
       controlResult=0; 
       console.log($(this).attr('id')+' Element is empty'); 
       $(this).nextAll().remove(); 
       $(this).after('<div class="err-label">'+$(this).attr('placeholder')+' is empty</div>'); 
       return controlResult; 
       } 
       else{ 
       $(this).nextAll().remove(); 
       }   
      }); 
     return controlResult; 
     }