2015-01-19 2 views
0

Я пытаюсь выбрать кнопки в текст/HTML, который появляется на кнопке, но с не успех:Как выбрать кнопки по тексту/html в jQuery?

Есть несколько наборов кнопок, как это в моей странице:

<button>Save</button> 
<button>Add</button> 
<button>Cancel</button> 

Я использовал следующие:

$('button[value=Save]') 
$('button[html=Save]') 
$('button[innerHTML=Save]') 
$('button[text=Save]') 

Но никто из них не работает. Может кто-нибудь помочь, пожалуйста?

ответ

2

Вы должны использовать :contains() селектор, как:

$("button:contains('Save')"); 
+0

Это прекрасно работает, спасибо. Но почему все используемые селектора атрибутов не работают? – abacusit

+0

@abacusit, потому что у вас нет этих атрибутов на вашей кнопке. Если бы у вас было бы , это может сработать. Даже если вы можете получить доступ к некоторым атрибутам, таким как innerHTML и т. Д., Но это всего лишь некоторые псевдо-атрибуты – Vladimirs

0

Это должно работать:

1: При выборе индекса

$('button').eq(0) // will select first 

2: О выборе значения

for(i=0;i<$('button').length;i++) { 
    if($('button').eq(i).text() == 'Your text') { 
     var myBtn = $('button').eq(i); 
     break; 
    } 
} 

$(myBtn).doSomething(); 
0

Возможно навигации корыта все из них решение:

$(function() { 
    var buttons = $('button'); 
    buttons.each(function() { 
     if($(this).html() == "Save") { 
      $(this).attr('style', 'background: red'); 
     }; 
    }); 
}); 

http://jsfiddle.net/tqk6wuhu/

Смежные вопросы