2013-03-04 54 views
0

任何人都可以告訴我爲什麼下面的代碼不工作在ie?它適用於所有其他瀏覽器,只是出現未定義在即:查找替換不工作在ie

var infoTemplate = '<div style="text-align:left"><h4 style="color:#0068a6;font-size:16px;margin:0px 0px 10px 0px;">%Title</h4><strong>%Tel</strong><br /><br />%Add</div>'; 
var seletedMarker = null; 

function composeInfoString(row) { 
    var $row = $(row); 
    return infoTemplate.replace('%Title', $row.find('.itemtitle a').html()) 
     .replace('%Tel', $row.find('.tel').html()) 
     .replace('%Add', $row.find('.add').html()); 
} 

%Title,%Tel,%添加所有在IE中未定義。任何幫助感激地apreciated。

+0

你是什麼意思,他們拿出未定義?他們在哪裏被定義爲除字符串參考以外的任何東西? – AlienWebguy 2013-03-04 22:06:32

+1

infoTemplate不是一個jQuery的對象 – bretterer 2013-03-04 22:07:30

+0

theres html與此有關,它發現它可以在任何其他瀏覽器比ie。我希望這將是一個已知的語法問題,例如:( – user989952 2013-03-04 22:10:22

回答

0

您必須添加HTML代碼(IE版本),我在IE 10嘗試這樣做,這是確定:

var a = composeInfoString('<div><div class="itemtitle"><a href="#a">aaaa</a></div><div class="tel">bbbb</div>><div class="add">cccc</div></div>'); 
console.log(a); 

結果:

<div style="text-align:left"><h4 style="color:#0068a6;font-size:16px;margin:0px 0px 10px 0px;">aaaa</h4><strong>bbbb</strong><br /><br />cccc</div>