Autor | Zpráva | ||
---|---|---|---|
formáx Profil * |
#1 · Zasláno: 26. 10. 2013, 09:17:41
Mám na stránce záložky typu:
<a name="nejaka_kotva">...</a> a pomocí JS potřebuju do pole načíst všechny hodnoty atributu <a name="..."></a> z dané stránky. Jak to mám udělat? dík. |
||
Časová prodleva: 4 dny
|
|||
Enyeus Profil |
#2 · Zasláno: 30. 10. 2013, 15:12:57
Co třeba takto?
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script> <script> var names = []; $('a').each(function(){ var name = $(this).attr("name"); if (name && !in_array(name, names)) { names[names.length] = name; } }); function in_array(needle, haystack) { for(var i in haystack) { if(haystack[i] == needle) return true; } return false; } alert(names); </script> |
||
Chamurappi Profil |
#3 · Zasláno: 30. 10. 2013, 15:43:36
Reaguji na Enyea:
Kvůli takové trivialitě tahat jQuery? Proč procházíš všechny odkazy? Ten in_array nemusí fungovat správně, protože prochází i vlastnosti přiřazené na Array.prototype .
Reaguji na formáxe: Seznam všech <a name> je v kolekci document.anchors , takže nejsnazší řešení vypadá třeba takhle:
var names = []; for(var i = 0; i < document.anchors.length; i++) names.push(document.anchors[i].name); |
||
Enyeus Profil |
#4 · Zasláno: 30. 10. 2013, 17:19:07
Chamurappi:
Musím uznat, že tvé řešení je elegantní. document.anchors jsem neznal, takže mi to přišlo jako nejjednodušší řešení. Ještě by se tedy dal upravit selektor na $('a[name!=""]')
|
||
_es Profil |
#5 · Zasláno: 30. 10. 2013, 17:57:41
formáx:
„pomocí JS potřebuju do pole načíst všechny hodnoty atributu <a name="..."></a> z dané stránky.“ K čomu ti to bude? Okrem toho, záložky sa dajú vytvárať aj takto: Odkazy na záložky v HTML » Modernější vložení záložky. |
||
Časová prodleva: 11 let
|
0