2010-06-14 3 views
3

Существует прямая связь с title и некоторые value:JQuery найти по значению

<a href="http://site.com/someid/" title="Use ctrl + >">next</a> 

Как найти эту ссылку и бросить его атрибут href в какой-то variable?

+0

просто комментарий .... название «Используйте Ctrl +>» при использовании больше или меньше символов в HTML вы РЕКОМЕНДУЕМЫМ всегда кодировать их. > => < = < –

+0

благодарит вас за информацию John – Happy

ответ

7
var some_variable = $("a:[title='Use ctrl + >']").attr("href") 

проверка из JQuery slectors: http://api.jquery.com/category/selectors/

Вот рабочий пример: http://jsfiddle.net/SXqVt/

+0

как проверить, присутствует ли она на этой странице? – Happy

+0

, а затем создать var – Happy

+0

'if ($ (" a: [title = 'Использовать ctrl +>'] "). Length) {var some_variable = $ (" a: [title = 'Использовать ctrl +>'] ") ,attr ("href") } ' – meo

2

Я рекомендовал бы вам добавить класс или идентификатор для вашего якоря, если это возможно. Это не очень хорошо, чтобы найти элемент по названию

Что-то вроде этого, если вы добавить класс

<a href="http://site.com/someid/" title="Use ctrl + >" class="myAnchor">next</a> 

и код JQuery будет

var some_variable = $("a.myAnchor").attr("href") 

... Или это, если вы установить идентификатор

<a href="http://site.com/someid/" title="Use ctrl + >" id="myAnchorId">next</a> 

и код JQuery будет

var some_variable = $("#myAnchorId").attr("href") 
4

Вы можете просто использовать селектор contains как

$('a[href*="Use ctrl"]') 

или, может быть, еще более конкретно с =.

В любом случае, это не похоже на хорошую оценку, поэтому вы должны думать о других возможностях получить этот якорь. Возможно, у него есть уникальный родитель, который вы можете выбрать по id или class. Даже если вам нужно немного потянуть, используя .find(), .closest() и т. Д.

Это лучший способ пойти.

2

Вы можете использовать селектор :contains(), чтобы найти элементы, которые содержат определенную строку текста:

alert($('a:contains(next)').attr('href')); 

Имейте в виду, что это может также найти элементы, которые содержат слово «следующий» в любом месте, так что лучше сделать ваш селектор как можно более конкретный, или предоставить контекстный аргумент функции jQuery.

1

, чтобы ответить на ваш комментарий для ответа Мео, вы можете сделать это:

var hrefValue; 
if($("a:[title='Use ctrl + >']").length > 0) 
{ 
    hrefValue = $("a:[title='Use ctrl + >']").attr("href"); 
} 
Смежные вопросы