Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Синтаксис href в разрешении javascript

Автор вопроса: Bob SmОтветов: 2

Мне было интересно, возможно ли внедрение javascript в тег href с некоторым текстом внутри. Теперь я знаю, что вы можете сделать это:

<a href="javascript:alert(1)">

Теперь, если значение href уже имеет какой-то текст, например:

<a href="Hello welcome to xxxx site">

В кавычках как можно будет внедрить javascript? Что-то вроде этого:

<a href="Hello welcome to xxxx site javascript:alert(2)">

Я знаю, что мог бы начать другую часть, например onmouseover="alert(1)", но мне интересно, возможно ли это сделать в тегах href в этом случае.

  • Соответствует ли что-то подобное вашим потребностям? Это лучший способ, поскольку он отделяет логику javascript от разметки: http://api.jquery.com/bind/ user1161625 20.08.2013
  • @user1161625 user1161625 Это лучшее. Bob Sm 20.08.2013
  • Извините, я впервые разместил ссылку с такой мини-разметкой... мне потребовалось пару попыток ;) user1161625 20.08.2013
  • @gibberish То, что он опубликовал, не имеет отношения к тому, что я спросил. Bob Sm 20.08.2013
  • Ах. Ваш ответ на комментарий, казалось, говорил, что его ответ был лучшим для вас. Приносим извинения за недоразумение. cssyphus 20.08.2013
  • Из любопытства, зачем вам текст без URL внутри тега href (или это просто пример)? Возможно, если вы дадите нам больше информации о том, что вы пытаетесь сделать, мы сможем улучшить наши ответы? cssyphus 20.08.2013

javascriptsyntaxhref

Ответы

Ответ 1 · Diodeus - James MacFarlane

Использовать:

<a href="javascript:alert('Hello welcome to xxxx site')">

Использование javascript: на самом деле является плохим тоном в HREF. Вы должны использовать нулевой якорь "#" и вместо этого использовать onclick.

Лучший способ:

<a href="#" data-text="Hello welcome to xxxx site">...</a>

...Затем с помощью JavaScript подключите обработчик событий и получите доступ к элементу данных HTML5.

Ответ 2 · cssyphus

Это то, что вы ищете (улучшенный пример)?

<body>

    The a tag is below:<br />
    <a href="javascript:alert('Hello');window.location.href='http://google.com';alert('there');">Click here</a>

</body>

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы