2010-10-08 112 views
0

我正在使用Jquery根據用戶輸入創建動態鏈接。我在我的 AJAX加載的div元素的集合,看起來像這樣在Internet Explorer中更改元素屬性的Jquery問題

<div class="mxcell"> 
<input type="text" size="40" class="input_name" value=""> 
<a href="#" target="_blank" class="dyn_link"> 
<img src="http://127.0.0.1/images/arrow_right.gif"> 
</a> 
</div> 

現在jQuery中我寫

$(function(){ 
$("#right").delegate(".input_name", "change", function(){ 
var dyn_link = $(this).val() 
$(this).parent().find("a").attr("href", "http://www.example.com/"+ dyn_link +".html"); 
}); 
}); 

這工作正常,在Chrome/Firefox中,但無法在Internet Explorer。

任何想法?

IE調試器指向Jquery行69個字符15.不知道進一步調查。

UPDATE:

我解決了上述使用的,而不是改變()

事件的內容(),但我仍不確定是否有更好的解決方案

+0

定義「不起作用」 – 2010-10-08 02:49:18

+0

那麼,在更改inputfeld中的值時,會創建一個動態鏈接,如href ='http://www.example.com/apples.html'。在IE中這仍然是href =「#」 – 2010-10-08 02:53:05

回答

0

http://jsfiddle.net/pNZTe/

我會keyup而不是focusOut,並且我清理了一下你的href更換器:

$("#right").delegate(".input_name", "keyup", function() { 
    var $this = $(this); 
    var dyn_link = $this.val(); 
    $this.next("a").attr("href","http://www.example.com/" + dyn_link + ".html"); 
});