任何人都可以解释为什么这会在IE7中引发错误吗?它表示错误发生在“var newStr .....”
的行上在任何其他浏览器中都没有发生这种情况。
$(document).ready(function() {
$('a[onclick*="_self"]').each(function() {
var newOnclick = $(this).attr('onclick');
var newStr = newOnclick.replace('_self','_parent');
$(this).attr('onclick', newStr);
});
});
答案 0 :(得分:1)
你可以替换整个旧的" _self"通过新的_parent函数起作用,例如:
$('a[onclick*="_self"]').attr('onclick', function() { _parent-stuff });
或 - 我读了你的最后一条评论,第二个解决方案对你不起作用,因为它需要更改正文的HTML。
答案 1 :(得分:0)
试试这个:
$(document).ready(function() {
$('a[onclick*="_self"]').each(function() {
var newOnclick = $(this).attr('onclick').toString();
var newStr = newOnclick.replace('_self','_parent');
if($.browser.msie && parseFloat($.browser.version) == 7) {
newStr = newStr.replace('onclick="function anonymous() { ','onclick="');
newStr = newStr.replace('}"','"');
}
$(this).attr('onclick', newStr);
//$(this).unbind();
//$(this).bind('click', function () { eval(newStr); });
});
});