2014-02-18 6 views
0

Как сравнить строку, может быть уже в переменной, с элементом, взятым из DOM? с элементом, как этотКак сравнить строку с элементом html

«Что-то здесь»

, когда я называю этот элемент с методом .text(), я не просто получить «Что-то здесь», но больше как

"  
Something 
      here 
       " 

Это а не буквальный пример, я имею в виду, что мое значение возвращается с дополнительными пробелами, и поэтому я не могу сравнивать его ни с чем, даже если я скопирую строку whitespaced из консоли.

EDIT

Практически все ответы говорят мне использовать $ .trim, я попытался это раньше, и он не работает, оленья кожа удалить все пробелы, до сих пор не могу сравнить даже с копирования/вставки из console.log

ответ

1

Вы можете использовать $.trim, чтобы удалить все вокруг вашего текста.

$.trim($("selector").text()) 

Функция $ .trim() удаляет все символы перевода строки, пробелов (в том числе неразрывных пробелов) и вкладки в начале и конце переданной строки . Если эти пробельные символы встречаются в середине , они сохраняются, jQuery Doc.

3

Обрезка и сравнения:

if("string_to_compare" == $.trim(element.text())) { 
    //some code 
} 
2

Вы можете использовать накладку(), чтобы удалить хвостовых и начальные пробелы затем сравнить их ..

$.trim(x.text()) == 'abc' 

$.trim() используется вместо String.trim() из-за IE support

+0

пробовал, не работает – Leo

+0

@Leo см. Http://jsfiddle.net/arunpjohny/7HT8M/ –

0

Если вы не хотите зависимости от JQuery, вам следует вместо этого используйте регулярное выражение:

"Some String" == element.innerHTML.replace(/^\s+|\s+$/g, ''); 
0

Вы можете указать версию jquery, которую вы используете (возможно, добавьте свой код)? Я проверил пару ответов и сделал свой собственный чек, и все они, похоже, работают нормально.

Смежные вопросы