псевдоэлемент jquery before, содержимое с обратной косой чертой внутри получает от attr (data-before) - PullRequest
0 голосов
/ 20 мая 2018

У меня небольшая проблема.Я хочу изменить глифы (иконка-шрифт) с помощью jQuery, например:

var icoList = 'E251'

var icon = $('ul > li:has(ul)', $this);
icon.addClass('icon');

icon.attr('data-before', '&#x' + icoList);          // this doesn' work, -> &#xE251
icon.attr('data-before', '\' + icoList);            // this doesn' work, -> TypeError
icon.attr('data-before', '\\' + icoList);           // this doesn' work, -> \E251
icon.attr('data-before', '"\\' + icoList + '"');    // this doesn' work, -> "\E251"

Я получаю только строку.

Мой CSS выглядит следующим образом:

ul li::before {
    font-family: "Glyphicons Halflings";
    content: attr(data-before);
}

В моем HTML я пробовал это:

<nav id="Nav-Main" class="nav-main">
    <ul>
        <li data-before="&#xE251">              <!--  this works fine  -->
            <a href="#">Home</a>

            <ul class="flexy">
                <li>
                    <a href="#">Referenzen</a>
                </li>
                <li>
                    <a href="#">Downloads</a>
                </li>
            </ul>
        </li>
    </ul>
</nav>

Если я использую данные в своем HTML-коде, то это работаетхорошо.

Что я сделал не так?Как я могу получить эту иконку, используя код?

...