Методы .text () и .html () в пробелах jQuery в конце IE7? - PullRequest
3 голосов
/ 21 декабря 2010

Я использую jQuery для вставки текста в тег HTML. HTML-код выглядит так:

<h5>Do you want to send a message to <span id='firstName'></span> right now?</h5>

Код jQuery для вставки текста внутри тега span выглядит следующим образом:

var myFirstName = "Thomas";
$("h5 span.firstName").html(myFirstName);

Когда я запускаю этот код в Firefox, Chrome, Safari или IE8, получается следующее:

<h5>Do you want to send a message to <span id='firstName'>Thomas</span> right now?</h5>

Но в Internet Explorer 7 результат таков:

<h5>Do you want to send a message to <span id='firstName'>Thomas</span>right now?</h5>

Конечный пробел после тега span удаляется, в результате на экране появляется текст: " Хотите отправить сообщение Thomasright прямо сейчас? ".

Я пытался использовать оба .html () и .text (), но в результате нет никакой разницы.

Есть ли способ исправить эту ошибку? Это известная ошибка в jQuery / IE7?

Заранее спасибо!

/ Томас Кан

Ответы [ 2 ]

2 голосов
/ 21 декабря 2010

создание <span id='firstName'></span> до <span id='firstName'>&nbsp;</span> решит проблему.^^

простая демонстрационная страница

^ откройте это в IE 7

2 голосов
/ 21 декабря 2010

Это странно, но вы можете сделать это:

var myFirstName = "Thomas&nbsp;";
$("h5 span.firstName").html(myFirstName);
...