Удалить пробелы между строками для всех браузеров? - PullRequest
0 голосов
/ 07 июля 2011

Кто-нибудь знает, как убрать пробел между строками для всех браузеров? Это работает во всем, кроме IE7. В основном весь текст li используется для ссылки на класс div, чтобы показать их. В некоторых текстах li есть пробелы, в некоторых - нет.

SCRIPT

$('li.' + $(this).text().replace(/ /g, "-")).toggle(true);

HTML

<ul>
<li class="button" id="sun">sun&nbsp;protective&nbsp;clothing</li>
<li class="button" id="lawn">lawn&nbsp;games</li>
<li class="button" id="stuff">stuff</li>
</ul>

<div class="sun-protective-clothing"></div>
<div class="lawn-games"></div>
<div class="stuff"></div>

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

Ответы [ 2 ]

1 голос
/ 07 июля 2011

Вы можете использовать Unicode-эквивалент &nbsp = u00a0

Теперь отлично работает и в IE7:)

пример DEMO

$('li').text(function (i, v) {
    return v.replace(/\u00a0/g,'-');
});
1 голос
/ 07 июля 2011

Попробуйте использовать /\s*/g в качестве шаблона вместо фактического пробела. (\ S используется для пробельных символов в регулярных выражениях). т.е.

$('li.' + $(this).text().replace(/\s*/g, "-")).toggle(true);

Я предполагаю, что вы ссылаетесь на текст <LI> для ссылки на класс элемента <DIV> и хотите вставить дефисы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...