[JS/jQuery] .contents .find IE9

Pagina: 1
Acties:

  • Snors
  • Registratie: Oktober 2007
  • Laatst online: 11-08 12:42
Allen,

Ik heb een probleem met mijn code. Het gaat om de volgende regel die niet werkt in IE9:
JavaScript:
1
$('#errorberichten').html($('#upload_iframe').contents().find('#errorbericht').html());


Ik krijg met de debug console geen error meldingen terug. In een webkit3 browser werkt het overigens wel juist(Firefox etc.)

Iemand enig idee waar het probleem zit en hoe ik hier eventueel om heen kan coden?

  • Zeebonk
  • Registratie: Augustus 2005
  • Laatst online: 30-07 20:50
Er is wel heel weinig om nu op af te gaan. Iets dat opvalt is find() die contents() opvolgt.

Jquery documentatie zegt dat:

.children(selector) alle directe kinderen die aan de selector voldoen
.find(selector) alle kinderen (ook kinderen van kinderen etc) die aan de selector voldoen
.contents() alle directe kinderen inclusief de tekst nodes

In jouw geval zou je dus .contents().find() kunnen vervangen door alleen find() of zelfs door childeren() als #errorbericht een directe kind is van #upload_iframe.

Verder valt er weinig te zeggen, misschien handig om een basis testcase op te zetten.

[ Voor 7% gewijzigd door Zeebonk op 06-09-2012 21:53 ]


  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Je probleem zit hem in de niet goed uitgelijnde aardstralen rond je client. Tenminste dat zegt mijn kristallen bol...

Oftewel beschrijf de error eens goed, maak test-cases aan voor elke situatie rondom deze code onder een linkje (werkt het 1e stuk, werkt het 2e stuk, werkt de combo van 1e stuk en 2e stuk).

Ik garandeer je dat als je dit doet dat je zelf de exacte oorzaak al naar boven krijgt. Google dan nog even naar de goede benaming om in TS te zetten en je vind het antwoord zeer waarschijnlijk ook al, en voordat je deze TS had kunnen plaatsen had je het al gevonden.

  • Snors
  • Registratie: Oktober 2007
  • Laatst online: 11-08 12:42
Thanks allen, had al een beetje zoiets verwacht maar het is meer dat ik hier al een week mee bezig ben. Ik ga een testcase uitwerken en deze posten(mits ik het probleem nog niet heb gevonden).

  • Compizfox
  • Registratie: Januari 2009
  • Laatst online: 00:32

Compizfox

Bait for wenchmarks

Firefox is Gecko, geen WebKit ;)

Gewoon een heel grote verzameling snoertjes


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Waar hoort mijn topic?
PRG >> WEB
M34nM4chin3 schreef op donderdag 06 september 2012 @ 21:58:
Thanks allen, had al een beetje zoiets verwacht maar het is meer dat ik hier al een week mee bezig ben.
Als je er al een week mee bezig bent snap ik niet waarom je nog geen testcase hébt :X Zo'n ding maak je, in eerste instantie, voor jezelf, niet voor ons :O Ik maak al een testcase the second ik iets niet kan verklaren, niet na een week en een topic ;)
Wat schiet je op met een week staren en achter je oren krabben? Je moet toch, in isolatie, kunnen stoeien/rommelen/fröbelen met je code :?

[ Voor 79% gewijzigd door RobIII op 06-09-2012 22:55 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • FotW
  • Registratie: Juli 2012
  • Laatst online: 16-08 18:47
Vandaag liep ik tegen een soortgelijke situatie aan, bij het gebruiken van een tekst editor welke in een iframe laadt moest ik de achtergrond een andere kleur kunnen geven. Ik gebruik hiervoor nagenoeg dezelfde selector als jij en dit werkt dan ook prima in alles behalve IE.

Ik was verder niet in de gelegenheid een testcase op te zetten en dit verder uit te zoeken (ivm deadline) en heb dit met een css work-around op kunnen lossen.

Overigens werkte de selector wel als ik deze handmatig in de console, in IE, aanriep.

Acties:
  • 0 Henk 'm!

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 05-09 14:39

_Thanatos_

Ja, en kaal

Eerste dat in me opkomt is dubbele id's in je html. De ene browser gaat daar anders mee om dan de ander.

Maar ik gebruik jQuery :?
Ja klopt, maar jQuery vertaalt het patroon $("#id") naar $(document.getElementById("id")), wat sneller is, en daarmee ook browserafhankelijk.

Dit kun je heel makkelijk uitproberen door de selector van "#error" te veranderen in "*[id=error]". Als het dan wél werkt is NIET je probleem opgelost, maar heb je wel gevonden dat het aan dubbele id's ligt (en je dát dus moet oplossen) ;)

Heb je dubbele id's in je html?

日本!🎌


Acties:
  • 0 Henk 'm!

  • 418O2
  • Registratie: November 2001
  • Laatst online: 21:52
Als je die contents eerst naar een jQuery object cast, gaat het dan beter?

dus $($("#myIframe").contents()).find("#otherId")) ?

Ik vraag me sowieso af of het uberhaupt kan, je gebruikt externe content toch?

[ Voor 23% gewijzigd door 418O2 op 11-09-2012 12:40 ]


Acties:
  • 0 Henk 'm!

  • Snors
  • Registratie: Oktober 2007
  • Laatst online: 11-08 12:42
418O2 schreef op dinsdag 11 september 2012 @ 12:32:
Als je die contents eerst naar een jQuery object cast, gaat het dan beter?

dus $($("#myIframe").contents()).find("#otherId")) ?

Ik vraag me sowieso af of het uberhaupt kan, je gebruikt externe content toch?
Ik gebruik geen externe content. Wat hij moet doen is de content van OtherID op dezelfde pagina met jquery inladen in myiframe en dus zichtbaar maken..

Ik heb overigens jou oplossing geprobeerd maar het mocht ook niet baten(werkt overigens wel in firefox maar niet in IE). Ook heb ik trouwens geen dubbele ID's op de pagina staan.

[ Voor 15% gewijzigd door Snors op 11-09-2012 23:50 ]


Acties:
  • 0 Henk 'm!

  • Rekcor
  • Registratie: Februari 2005
  • Laatst online: 05-09 21:08
M34nM4chin3 schreef op dinsdag 11 september 2012 @ 23:45:
[...]

Ik gebruik geen externe content. Wat hij moet doen is de content van OtherID op dezelfde pagina met jquery inladen in myiframe en dus zichtbaar maken..

Ik heb overigens jou oplossing geprobeerd maar het mocht ook niet baten(werkt overigens wel in firefox maar niet in IE). Ook heb ik trouwens geen dubbele ID's op de pagina staan.
Als je geen externe content hebt, waarom dan een iframe gebruikt?
Pagina: 1