ここにこの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" をまとめて var "first" に入れ、"f" と "s" をまとめて var "f" に入れます。
IE9(およびおそらく他のバージョンのIEも)が他のブラウザと同じように動作するようにこれを修正する方法があるかどうか知りたいです。