2011-08-08 41 views
0

朋友需要幫助來解決此問題。jquery意外調用方法或屬性訪問,即錯誤

(function($){ 

    $('*').each(function(){ 

if ($(this).children().length == 0) { 



      $(this).html($(this).html().replace(avidno,'<span id=avidlocal>AvidTrak Tracking Number</span>')); 

    } 



    }); 



})(jQuery) 
+0

哪一行是問題? –

+0

$(this).html($(this).html()。replace(avidno,' AvidTrak Tracking Number')); – Abdullah

+0

這裏是工作頁面,但在即通過錯誤: http://jsfiddle.net/webdesignerart/zGgC7/ – Abdullah

回答

1

由於下面一行是什麼給你的錯誤:

$(this).html($(this).html().replace(avidno,'<span id=avidlocal>AvidTrak Tracking Number</span>')); 

你應該打破它,以便只有一個方法被每行調用。這將允許您進一步隔離錯誤。例如:

var obj = $(this);  
var currentHTML = obj.html(); 
var newHTML = currentHTML.replace(avidno,'<span id=avidlocal>AvidTrak Tracking Number</span>'); 

如果var currentHTML行是問題,那麼$(這)可能是不確定的某些原因。或者你可能需要引用id名字「avidlocal」。很難說,因爲這畢竟是IE錯誤,而且我沒有看到任何具體的東西,我知道在IE中不起作用。

作爲最後一點,我強烈建議你的朋友找到一個更好的方法來實現他的目標。 $('*')。每個將循環遍歷頁面上的每個元素。你的朋友是否真的沒有任何生成HTML的方法,通過循環遍歷所有內容並檢查它們是否有子節點,可以更容易地替換「avidno」文本,即更容易通過jQuery訪問(通過類/ id)

+0

WAOn thankx其刪除錯誤,但replcement不起作用,是我現在要做到這一點:$(「body」)。html(newHTML); – Abdullah

+0

這裏是你更新的代碼鏈接:http://jsfiddle.net/zGgC7/3/ – Abdullah

+0

有人在這裏幫助我。 – Abdullah

相關問題