Правая угловая скобка в букмарклете в Wordpress

Я пытаюсь включить букмарклет JavaScript в свой пост Wordpress. Букмарклет использует jQuery с дочерним селектором ">" (правая угловая скобка) и выглядит примерно так:

<a href="javascript:$('ul>li') ...">Bookmarklet</a>

Но когда я использую правую угловую скобку там, это портит макет страницы, и элемент bookmarklet фактически не появляется в посте.

2 ответа

Решение

Разобрался с подсказкой от Шарифа.

Символ ">" не может быть включен в атрибут href элемента в WordPress (по крайней мере, в моем случае?). Но можно добавить скрипт сразу после элемента, который изменяет его атрибут href на любое значение, которое мы хотим.

Таким образом, структура окончательного кода:

<a href="whatever" id="uniqueid">Bookmarklet</a>
<script> document.getElementById("uniqueid").href = "javascript:$('ul>li')..."; </script>

Это вызывает anchorScr функция при нажатии на якорь:

href="javascript:anchorScr()"

Затем функция прикрепляет click обработчик событий для всех элементов.

Удалите href и просто получите это:

jQuery('a').click(function (event) {

 //your code
});

Код будет выполнен - ​​присоединение обработчика события click ко всем элементам. Вы должны, вероятно, только запустить это на

jQuery(document).ready(function(){
 jQuery('a').click(function (event) {

   //your code
  }); 
});

чтобы убедиться, что страница полностью загружена в DOM.

Другие вопросы по тегам