我在與下面的代碼有點問題,我想知道我在做什麼錯。的JavaScript的eval()產生「意外的標記)錯誤」
我發現了一個未捕獲的SyntaxError:意外的標記)錯誤在哪裏的EVAL調用了行。
function myfunction(){
var p1 = '';
var p2 = '';
var p3 = '';
for (i=1; i<=3; i++){
eval("$('#p"+i+"').closest('.filter').find('.vals div').each(function(){if ($.trim(p"+i+").length > 0) {p"+i+" += ',';} p"+i+" += $(this).attr('class');});");
}
}
這裏是適用的HTML:
<div class="filter">
<label>Organizations</label>
<input id="p1" type="text" value="" />
<div class="vals">
<div class="3" title="Click to remove">ABC School District</div>
<div class="4" title="Click to remove">DEF School District</div>
</div>
</div>
<div class="filter">
<label>Groups</label>
<input id="p2" type="text" value="" />
<div id="vals"></div>
</div>
如果不是我也使用jQuery這裏完全明顯。
感謝
*「我不知道我在做什麼錯了」 * - 我的答案是使用'的eval()'擺在首位..你很難調試語句。我不明白爲什麼你不能在沒有'eval()'的情況下寫這個... – Carpetsmoker
不要使用eval。 – jbabey
您可以通過簡單地使用$( '#P [' + I)在jQuery採取selecter作爲字符串跳過使用eval像這些語句「$( '#P 「+ I +」')...... 。我真的。看不到這裏的eval任何優勢 – Birey