Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jak pobierac z "getAttribute" pod firefox
Forum PHP.pl > Forum > XML, AJAX
michalr
mam taki obiekt XMLDOC:

<main>
<a name="a1">
<b name="b1" />
<b name="b2" />
</a>
</main>


a w JS robie tak:
var y = XMLDOC.getElementsByTagName("a") ;

i tak:
alert(y[0].childNodes[0].getAttribute("name"));

IE zwraca "b1"
ale Firefox nic ,
prosze o pomoc..
pawel_k
w firefoxie masz bardzo przydatną rzecz, a mianowicie Narzędzia > Konsola JavaScript

włącz, uruchom stronę i zobacz jaki błąd wywala...
michalr
no wyswietla

y[0].childNodes[0].getAttribute("name") is not a function

ale dlaczego w takim razie pod IE dziala..?
revyag
Chodzi o to że odczytywane są też spacje między tagami smile.gif Dlatego w ff dostajesz undefined.
Żeby było ok zapisz to tak:
  1. <a name="a1"><b name="b1" /><b name="b2" /></a>
michalr
tak tez nic nie wyswietla
revyag
plik xml.
  1. <?xml version="1.0" encoding="ISO-8859-2"?>
  2. <m>
  3.    <a name="a1"><b name="b1" /><b name="b2" /></a>
  4. </m>

obsługa w js:
Kod
<script type="text/javascript">
var xmlDoc;
function loadXML() {
    if (window.ActiveXObject)  {
        xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async=false;
        xmlDoc.load("note.xml");
        getmessage()
    } else if (document.implementation && document.implementation.createDocument) {
        xmlDoc=document.implementation.createDocument("","",null);
        xmlDoc.load("note.xml");
        xmlDoc.onload=getmessage
    } else {
        alert('Your browser cannot handle this script');
    }
}

function getmessage() {
    var y=xmlDoc.getElementsByTagName("a");
    alert(y[0].childNodes[0].getAttribute("name"));    
}

  1. <button onclick="loadXML()">show me</button>


pokazuje "b1"
michalr
dzieki ,
okazalo sie ze poprostu w moim przypadku mialem te entery miedzy wierszami - po ich likwidacji dzialalo
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.