2011-08-01 11 views
5

mam ten label:Jquery + wartość zmiana etykiety bez ID

<div id="edit-my-radios-0-wrapper" class="form-item"> 
<label class="option" for="edit-my-radios-0"> 
<input id="edit-my-radios-0" class="form-radio" type="radio" value="0"> 
£25 
</label> 

którego chcę zmienić wartość za pomocą jQuery. Niestety nie mam kontroli nad tym, jak jest on tworzony, a dzięki identyfikatorowi nie jestem pewien, czy można go kierować na cel.

Czy ktoś ma nie pomysł, jak go kierować?

góry dzięki ..

+0

Co masz na myśli pod pojęciem wartości etykiety? Czy chcesz zmienić , a także tekst? – Corneliu

Odpowiedz

1

jestem przy założeniu, że wartość znaczy HTML wewnątrz etykiety. Możesz wybrać etykietę według nazwy klasy.

$('.option').html('[Your HTML here']); 

Spójrz na jQuery selectors.

+0

Przykro mi, nie wspomniałem o tym, że istnieje więcej niż jedna etykieta, do której należy kierować ... – whistlegull

+0

W takim przypadku wystarczy nieco zmienić selektor. Czy etykieta zawsze będzie znajdować się wewnątrz elementu div o tym identyfikatorze: "edit-my-radios-0-wrapper"? Zasadniczo musimy określić selektory, które są potrzebne do zwrócenia tej etykiety. Pomyśl o tym, jak budowanie instrukcji WHERE w SQL. –

0

$('#edit-my-radios-0-wrapper label') dostanie to jako owijka ma id. Kierowanie go przez class w dowolnym miejscu może powodować problemy z innymi elementami na stronie z tą samą klasą.

- edycja -

Wystarczy zauważyć, że div nie zamyka po etykiecie. Wygląda na to, że nie można kierować konkretną etykietę ale można kierować wszystkie z $('.option')

- Edit -

Jestem zdecydowany zrobić to przyzwoity odpowiedź zamiast co ja serwowane do tej pory!

Korzystanie $('label:has(#edit-my-radios-0)') będzie kierować tą etykietą

9

uświadamiam sobie to pytanie jest o rok, ale pomyślałem, że nie odpowiedzieć tak ...

Aby wybrać/target etykietę, która nie posiadać identyfikator, można użyć wartości w for= następująco:

$('label[for=edit-my-radios-0]').html('New Label Here'); 
0

to proste spróbuj ten kod

$('label[for="edit-my-radios-0"]').html('<input id="edit-my-radios-0" class="form-radio" type="radio" value="0">£180');