Выбрать ссылку и выполнить по ней переход
Ребят подскажите, есть код, который выводит ссылку в теге <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, время: 01:50. |