react - ¿Cómo se representa un espacio de no ruptura en una cadena de JavaScript?
salto de linea react native (4)
Esa entidad se convierte al carácter que representa cuando el navegador muestra la página. JS (jQuery) lee la página renderizada, por lo que no encontrará tal secuencia de texto. La única forma en que podría encontrarlo es si son entidades de codificación doble.
Esto aparentemente no está funcionando:
X = $td.text();
if (X == '' '') {
X = '''';
}
¿Hay algo acerca de un espacio que no se rompa o el símbolo que a JavaScript no le guste?
La documentación de jQuery para text()
dice
Debido a las variaciones en los analizadores HTML en diferentes navegadores, el texto devuelto puede variar en nuevas líneas y otros espacios en blanco.
Yo usaría $td.html()
lugar.
Recuerda que .text()
elimina el marcado, así que no creo que encuentres
en un resultado no marcado.
Hecho en una respuesta ....
var p = $(''<p>'').html('' '');
if (p.text() == String.fromCharCode(160) && p.text() == ''/xA0'')
alert(''Character 160'');
Muestra una alerta, ya que en su lugar se devuelve el equivalente ASCII del marcado.
Es una entidad HTML. Al hacer .text()
, todas las entidades HTML se decodifican a sus valores de carácter.
En lugar de comparar con la entidad, compare con el carácter en bruto real:
var x = td.text();
if (x == ''/xa0'') { // Non-breakable space is char 0xa0 (160 dec)
x = '''';
}
O también puede crear el carácter a partir del código de carácter manualmente en su forma de escape de Javascript:
var x = td.text();
if (x == String.fromCharCode(160)) { // Non-breakable space is char 160
x = '''';
}
Más información sobre String.fromCharCode
está disponible aquí:
Más información sobre códigos de caracteres para diferentes conjuntos de caracteres están disponibles aquí: