| 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: 12 let
|
|||
0