Czasami muszę znaleźć obliczoną wartość atrybutu HTML lang
(język elementu). Używam jQuery. Na przykład w poniższym kodzie Chciałbym poznać komputerowej lang elementu <p>
i spodziewałbym wartość he
:Jak znaleźć obliczoną wartość atrybutu lang elementu w JavaScript?
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8" />
<title>lang test</title>
</head>
<body>
<div lang="ar">
<div lang="he">
<p>Hallo.</p>
</div>
</div>
</body>
</html>
Doing $('p').attr('lang')
nic nie zwraca, prawdopodobnie dlatego, że element <p>
nie ma własny atrybut języka.
Kod ten wydaje się zrobić dobry uczynek:
$('p').closest('[lang]').attr('lang')
Czy to funkcjonalnie poprawne? Czy istnieje lepszy sposób na to w jQuery, w czystym JavaScript lub z inną biblioteką JavaScript?
Dziękuję.
Myślę, że napisałeś najlepszą drogę. Oczywiście, jeśli często używasz jQuery w innym kodzie. – Novelist
.prop() może być użyty zamiast .attr() –