У меня есть этот Javascript здесь:
function getTxt(obj) {
var first = obj.innerHTML.substring(0, obj.innerHTML.indexOf('<span class=\"item2\">'));
var second = obj.innerHTML.substring(obj.innerHTML.indexOf('<span class=\"item2\">'));
var f = first.replace(/(<([^>]+)>)/ig,'');
var s = second.replace(/(<([^>]+)>)/ig,'');
alert(first + "\n" + second + "\n" + f + "\n" + s);
}
и HTML:
<span class="item" onclick="getTxt(this)"><span class="item1">MyName</span><span class="item2">555-555-5555</span></span>
В большинстве браузеров (FireFox, Chrome, Safari, Opera) выдается предупреждение:
<span class="item1">MyName</span>
<span class="item2">555-555-5555</span>
MyName
555-555-5555
как и ожидалось. Однако в IE9 он предупреждает:
<span class="item1">MyName</span><span class="item2">555-555-5555</span>
MyName555-555-5555
Таким образом, он объединяет переменные «first» и «second» в переменную «first», а «f» и «s» вместе — в переменную «f».
Я хотел бы знать, можно ли каким-либо образом исправить это для IE9 (и, возможно, для другой версии IE), чтобы он работал так же, как и в других браузерах.
obj.innerHTML.indexOf("<span class=\"item2\">")вместоobj.innerHTML.indexOf('<span class=\"item2\">')обратите внимание на двойные кавычки вместо одинарных - person Musa   schedule 18.07.2012