Ich verwende ein CRM-System, in dem ich den HTML-Code, den das System generiert, nicht kontrollieren kann. Dies ist die einfachste Form des HTML-Markups, mit dem ich mich beschäftige.
%Vor% Ich möchte cmdedit <button>
nach dem Laden der Seite verstecken. Ich kann nur den Inhalt von <textarea>
ändern, der dann als HTML-Inhalt des folgenden <iframe>
beim Laden der Seite in das DOM eingefügt wird. Ich kann <script>
-Tag einschließen und Javascript oder JQuery-Anweisungen schreiben, die in diesen <iframe>
gelangen, und die JavaScript-Warnhinweise funktionieren einwandfrei. Ich habe versucht, die <button>
mit dem folgenden Code zu verstecken, aber keiner funktioniert nach dem Laden der Seite.
Skript in iframe:
%Vor%System generiertes vollständiges HTML :
Sie versuchen, das Element mit der ID cmdedit
vor JavaScript-Code zu verbergen, der in einem <iframe>
ausgeführt wird. Aber das Element ist nicht innerhalb des <iframe>
, so dass jQuery es nicht finden kann.
Sie müssen jQuery mitteilen, wo nach dem Element gesucht werden soll. Sie können dies tun, indem Sie einen zweiten Parameter an jQuery selector übergeben. Von jQuery Api Dokumentationsseite :
Selektor
Geben Sie Folgendes ein: Selektor
Eine Zeichenfolge mit einem SelektorausdruckKontext
Geben Sie Folgendes ein: Element oder jQuery
Ein DOM-Element, Dokument oder jQuery zur Verwendung als Kontext
-
Sie müssen also nur das Dokumentobjekt des oberen Fensters übergeben, um das Element zum Ausblenden auszuwählen.
%Vor%%Vor%Oder Sie können die jQuery des Hauptfensters
verwenden
%Vor%Oder Sie können plain Javascript
verwenden
probiere das
aus %Vor%Die fixierte Position muss mit der ausgeblendeten Sichtbarkeit kombiniert werden, damit kein Platz aus dem Dokument beansprucht wird.
Obwohl es nicht die beste Vorgehensweise ist, ist eine zweite Möglichkeit, um zu dem Ergebnis zu kommen.
Tags und Links javascript jquery iframe parent window