Выбрать ссылку и выполнить по ней переход
Ребят подскажите, есть код, который выводит ссылку в теге <a> с текстом, надо отобрать саму ссылку из кода, и выполнить по ней переход.
Вот сам код: $("#searchstring").keypress(function(e) { if (e.which == 13) { alert($(this).val()); return false; }; }); Он выводит такст следующего характера: <a href="ссылка">текст</a> Как доработать код что бы оно не выводило ссылку с текстом а выполняло именно переход по ней?? Пробовал так: $("#searchstring").keypress(function(e) { if (e.which == 13) { window.location=$(this).find("a").attr("href"); return false; }; });- не работает |
Цитата:
|
При переходе пишет: undefined
Пробую так: $("#searchstring").keypress(function(e) { if (e.which == 13) { window.location.href=$(this).find("a").attr("href"); return false; }; }); Может что то не так делаю??? |
Странно что если я выполняю такой запрос:
$("#searchstring").keypress(function(e) { if (e.which == 13) { alert($(this).val()); return false; }; });то выводит html код, вида <a href="урл">текст</a> а если я отбираю из этого текста именно ссылку $("#searchstring").keypress(function(e) { if (e.which == 13) { window.location.href=$(this).find("a").attr("href"); return false; }; });, оно пишет почему-то undefined |
Вы совсем не видите разницу между
$(this).val() и $(this).find("a") ? Вы имеете строку, вам надо из нее получить ссылку. var l = '<a href="javascript.ru">bla bla bla</a>'; alert(l.match(/href="([^"]+)/)[1]); Для вашего кода будет примерно так: var link = $(this).val().match(/href="([^"]+)/); location.href = link[1]; |
var l = '<a href="javascript.ru">bla bla bla</a>'; alert(l.match(/href="([^"]+)/)[1]);прекрастно работает var link = $(this).val().match(/href="([^"]+)/); location.href = link[1];- не работает и все хоть убей... что делаю не так?? |
Еще раз проверил:
var l = '<a href="javascript.ru">bla bla bla</a>'; alert(l.match(/href="([^"]+)/)[1]);работает отлично: var link = $(this).val().match(/href="([^"]+)/); location.href = link[1];- не хочет рабатать попробовал такой вариант: var link = $(this).val().match(/href="([^"]+)/); alert( link[1]); тоже не работает Подскажите что не так? |
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script> <input type='text' value='<a href="http://javascript.ru">Link</a>' /> <script> var link = $('input').val().match(/href="([^"]+)/); alert( link[1]); </script> Приведите живой пример где не работает |
оиск
нужно что бы срабатывал при нажатии enter пишу $("#searchstring").keypress(function(e) { if (e.which == 13) { var link = $('input').val().match(/href="([^"]+)/); alert( link[1]); }; }); |
пишу скажем wlx и жму enter, надо что бы переходило к урлу данного товара
именно по enter'y, с переходом по клику мышкой уже разобрался |
Часовой пояс GMT +3, время: 00:53. |