Czy za pomocą jQuery można znaleźć typ elementu za pomocą jQuery? Na przykład, czy element jest div, span, select lub input?
Na przykład, jeśli próbuję załadować wartości do listy rozwijanej za pomocą jQuery, ale ten sam skrypt może wygenerować kod do zestawu przycisków opcji, czy mogę utworzyć coś takiego:
$('.trigger').live('click', function () {
var elementType = $(this).prev().attr(WHAT IS IT);
});
Biorąc pod uwagę listę rozwijaną z przyciskiem obok klasy wyzwalacza , moja elementType
zmienna powinna powrócić select
po naciśnięciu przycisku.
Odpowiedzi:
Pobranie elementu typu jQuery:
robiąc to samo bez jQuery
Sprawdzanie określonego typu elementu:
źródło
nodeName
obsługuje więcej typów elementów, a obsługa IE5.5 nie powinna już stanowić problemu, więc nie widzę problemów z przejściemtagName
donodeName
powyższej odpowiedzi. Oba będą działać dobrze dla elementów, a te drugie będą działać również na tekstowych węzłach, atrybutach itp.$(this).is("input");
możesz także użyć:
źródło
powinieneś użyć
tagName
właściwości iattr('type')
do danych wejściowychźródło
Jak wspomniał Distdev, nadal musisz różnicować typ wejścia. To jest do powiedzenia,
powie Ci
input
, ale to nie odróżnia pola wyboru / tekstu / radia. Jeśli jest to dane wejściowe, możesz użyćaby powiedzieć ci pole wyboru / tekst / radio, abyś wiedział, jaki to rodzaj kontroli.
źródło
możesz użyć
.is()
:patrz źródło
źródło
użyj get (0) .tagName. Zobacz ten link
źródło
Użyj Nodename zamiast tagName:
patrz DOM Core
źródło