Я использую jQuery .data()
для работы с пользовательскими атрибутами данных HTML5, где значение атрибута должно содержать как одинарные кавычки, так и двойные кавычки:
<p class="example" data-example="She said "WTF" on last night show.">
Я знаю, что использование кодов символов, таких как "
в значении атрибута данных, могло бы сделать вышеописанное, но я не могу всегда контролировать, как вводить значения. Кроме того, мне нужно иметь возможность использовать теги HTML в разметке, например:
<p class="example" data-example="
She said "<abbr title="What The F***">WTF</abbr>" on last night show.
">
Если какой-либо из форм .replace()
является ответом, то это нужно сделать до того, как значение будет считано .data()
- возможно, применяя его по всему тегу <body>
?
Нормальная обратная косая черта как <abbr title="te\'st">WTF</abbr>
тоже не работает.
В идеале это будет иметь гибкость для работы с обоими:
data-example="..."
а также
data-example='...'
Но если это возможно только в одном случае, я мог бы хотя бы с этим справиться. Идеи?
Обновить - еще один контекст:
Я работаю над этим для responsejs.com. Фактическое применение этого может заключаться в том, чтобы загружать боковую панель для браузеров выше определенной ширины (и обрабатывать это в браузере, а не в PHP). Например, в WordPress боковая панель может содержать виджеты, изображения и т.д. Кавычки в тегах PHP являются не-проблемой b/c, которые они анализируют в HTML, прежде чем они попадут в браузер. Пример:
<aside id="primary" class="sidebar"
data-oweb='
<?php dynamic_sidebar( 'primary' ); ?>
'
>
optional default markup for mobile and no-js browsers here
</aside>