Я пытаюсь назвать jQuery text()
функционируйте и прокрученный это trim()
функция для удаления всего запаздывания и ведущего пробела. Кажется, работает отлично в Firefox, однако, не работает в IE7 (отказывается удалять пространство, запаздывающее в конце).
Какие-либо идеи?! Возможно, regex решение?
Итак, вот суть происходящего. У меня был текст в элементе span, а после текста была гиперссылка/изображение, на которое пользователь мог нажать, чтобы удалить текст со строки, на которой он находился (см. код ниже). Однако я поставил
после текста элемента span (в тексте гиперссылки), чтобы добавить немного прокладки между текстом span и изображением "delete". Поэтому, даже если я обращался к тексту элемента и обрезал $.trim($(this).parent().text());
, он все равно включал этот пробел в конце! Как только я удалил этот лишний пробел, все заработало нормально. До сих пор не знаю, почему $.trim()
не справился с этим?!
<div>
<span>
<strong>SomeText</strong>
</span>
<a href="javascript:void(0);" onclick="removeMe();">
<img src="delete.png" width="15" height="15" border="0" name="imgRemove" />
</a>
</div>
Да, у меня есть идея. Пробел в конце не находится в элементе, для которого вы вызываете функцию text (). Это может произойти в IE, потому что он обрабатывает пробелы иначе, чем firefox, и предоставит ему свои собственные элементы, тогда как firefox не будет. Это всего лишь догадка, потому что ваш вопрос не дает повода для продолжения.
jquery использует / ^ \ s + | \ s + / g в своем методе обрезки-
Любой конечный пробел должен быть добавлен после его возврата .
Это может зависеть от того, когда вы его читаете - попробуйте предупредить значение непосредственно из операции обрезки. Если это читается правильно, пространство добавляется тем, что вы делаете рядом со строкой.
Если обрезка действительно возвращается с завершающим пробелом, используйте text.replace (/ ^ \ s + | \ s + / g, '').
вы, скорее всего, забыли о цепочке jquery ...
попробуйте это
$ ('# selector'). Trim ($ (' #selector '). text ())
не поленитесь с
$ (' # selector '). text (). trim (); // это неправильно ...
EDIT
или, как @Laserson упростил его еще лучше, с помощью $. Trim ($ (selector) .text ());