По-видимому, это не работает:
X = $td.text();
if (X == ' ') {
X = '';
}
Есть ли что-то в неразрывном пробеле или амперсанде, что не нравится JavaScript?
javascript
jquery
Филипп Сенн
источник
источник
.text()
разметка удаляется, поэтому я не верю, что вы найдете
результат без разметки.Ответы:
это объект HTML. При этом.text()
все объекты HTML декодируются в свои символьные значения.Вместо сравнения с использованием сущности сравните с использованием фактического необработанного символа:
Или вы также можете создать символ из кода символа вручную в его экранированной форме Javascript:
Более подробную информацию
String.fromCharCode
можно найти здесь:Более подробная информация о кодах символов для различных кодировок доступна здесь:
источник
Помните, что
.text()
разметка удаляется, поэтому я не верю, что вы найдете
результат без разметки.Сделано для ответа ....
Показывает предупреждение, поскольку вместо него возвращается ASCII-эквивалент разметки.
источник
$("<div> </div>").text().charCodeAt()
дает160
(unicode для nbsp)Этот объект преобразуется в символ, который он представляет, когда браузер отображает страницу. JS (jQuery) читает отображаемую страницу, поэтому такая текстовая последовательность не встречается. Единственный способ встретить такое - это двойное кодирование объектов.
источник
Документы jQuery для
text()
говоритЯ бы использовал
$td.html()
вместо этого.источник