javascript работает по-разному в IE и FF

Elina74

Вот минимальный пример кода:

<html>
<table id="my_table" border="1">
<tr>
<td>Report title, <a href="http://www.ru">link</a>,
place, date</td>
</table>
<script>
var my_table = document.getElementById("my_table");
var result_string = "";
if(my_table){
result_string = my_table.rows[0].cells[0].innerHTML;
result_string = kill_links(result_string);
document.write("<p>res1: " + result_string);
}
else{
alert("bad! table not found! :(");
}

function kill_links(str){
var regexp = /, <a.*?\/a>/g;
str = str.replace(regexp, "");
return(str);
}
</script>

<script>
var str = "Report title, <a href=\"http://www.ru\">link</a>, place, date";
var regexp = /, <a.*?\/a>/g;
str = str.replace(regexp, "");
document.write("<p>res2: " + str);
str = "Report title, <a href=\"http://www.ru\">link</a>, place, date";
str = kill_links(str);
document.write("<p>res3: " + str);
</script>

</html>

Цель кода — извлечь содержимое ячейки таблицы и напечатать его под таблицей целиком, за исключением любых ссылок, которые надо пропустить. Если я делаю это с помощью подпрограммы kill_links, результат получается ожидаемый только в FF, а в IE не работает, т.е. ссылка не удаляется. Если я делаю это с помощью того же самого кода, что и в kill_links, ожидаемый результат виден и в FF, и в IE. Отличие только в том, что внутри скрипта я поставил слеши перед кавычками, чтобы удовлетворить синтаксис джаваскрипта.
Как сделать так, чтобы код одинаково хорошо работал везде? Может, надо экранировать кавычки?

artimon

Попробуй перенести функцию выше того места, где ты её вызываешь.

Elina74

Представь себе, дело было в том, что в IE
my_table.rows[0].cells[0].innerHTML содержит БОЛЬШИЕ буквы А в ссылке, т.е. ИЕ меняет их регистр по своему усмотрению, чего я не ожидал.
Report title, <A href="http://www.ru">link</A>,
place, date
а в ФФ маленькие.
Соответственно, надо было добавить ключ i в регулярное выражение.
Оставить комментарий
Имя или ник:
Комментарий: