2017-02-21 6 views
0

Ich habe eine JSP-Seite, die eine statische HTML-Seite mit iFrame lädt. Jetzt versuche ich, die Ausrichtung eines der DIV (die in statischen HTML-Seite ist) mit der jQuery dynamisch ändern. Aber es funktioniert nicht.document.getElementbyID gibt NULL für das DIV mit in iFrame zurück

var divEnbref = document.getElementById("enbref"); 
if(divEnbref!=''){ 
    $('#enbref').css("text-align" , "left"); 
} 

DIV

<div id="enbref">Some Content</div> 

Kann mir jemand helfen.

+0

Nur ein Tippfehler im Titel. Aber warum benutze es, wenn du jQuery geladen hast? Und es wäre nie leer. Versuchen Sie 'if ($ ('# enbref'). Length> 0) { $ ('# enbref') .css (" text-align "," left "); } ' – mplungjan

+0

Das DIV, für das ich Stil anwenden möchte, ist in iFrame. Ob das funktioniert? –

+0

Möchte etwas hinzufügen. Der statische HTML-Code stammt aus einer anderen Domäne und ist in der Lage, eine Ressource ohne Fehler zu erhalten, d. H. Der HTTP-Code ist 200. Aber wenn ich versuche, auf das Dokument von iFrame ref zuzugreifen, bekomme ich einen Fehler. –

Antwort

0

Verwendung .innerHTML den Inhalt des div

var divEnbref = document.getElementById("enbref").innerHTML; 

dann Bedingung

if(divEnbref!=''){ 
    $('#enbref').css("text-align" , "left"); 
} 
0

verwenden Erklärung zu bekommen Wie Sie Element innerhalb iframe Auswahl werden Sie müssen zunächst die iframe auszuwählen.

document.getElementById('myframe1').contentWindow.document.getElementById('enbref') 

dies versuchen ..

+0

Vielen Dank. Ich bin müde, aber ich bekomme Zugang verweigert und Erlaubnis gegessen, wenn ich versuche, var iFrameDoc = iFrame.contentDocument; oder var iFrameDoc = iFrame.contentWindow.document; Aus diesem Grund ist iFrameDoc nicht definiert. Gibt es noch eine andere Option? –

+0

Laden Sie das Iframe-Dokument von einer anderen Domäne? oder beide Eltern und iframe sind auf der gleichen Domain? –

+0

iFrame-Inhalt stammt aus einer anderen Domäne. –

0

Try this:

var divEnbref = document.getElementById('enbref'); 

document.getElementById('enbref').style.textAlign = "right"; 

Ich habe schon versucht, diese in Geige: https://jsfiddle.net/mgs4y3px/

Auch das wird Ihnen helfen!

Verwandte Themen