2016-03-24 10 views
0

Ich verwende Google Sites für meine Webseite und möchte Teile davon dynamisch gestalten. Daher möchte ich die CSS-Klasse ändern, die mit bestimmten HTML-Elementen in Verbindung mit einem On-Click-Ereignis verknüpft ist.Wie kann ich mithilfe von Google Sites und Google App Scripts die CSS-Klasse eines HTML-Elements dynamisch ändern?

ZB: Ausgangssituation:

<div class="foo">Hello</div> 
<a href="#" onlick="method()">World</a> 

Nach einem Klick auf "Welt":

<div class="bar">Hello</div> 
<a href="#" onlick="method()">World</a> 

Antwort

0

eine ID an den div hinzufügen, dann:

function method() { 
    var myDiv = document.getElementById("myDIV"); 
    myDiv.className = "bar"; 
} 

Alternativ können Sie Holen Sie alle Elemente mit diesem bestimmten Klassennamen und durchlaufen Sie sie dann, um ihren Klassennamen zu ändern.

Nun können Sie natürlich if/else-Anweisungen hinzufügen, um bestimmte Bedingungen zu überprüfen, bevor Sie Änderungen vornehmen.

+0

Leider 'Documet. ... 'funktioniert nicht in Google App Scripts. – Florian

+0

Verwenden Sie den HTML-Service, um Ihre Seite aus der GAS-Funktion doGet() zu erstellen? – Gerneio

+1

Ah ich sehe, ich glaube, Sie versuchen, Ihre tatsächliche Google-Website von GAS zu ändern, ist das korrekt? Was ich gemacht habe, ist GAS-Web-Apps zu erstellen, HTML-Service zu verwenden, um benutzerdefinierte HTML-Formulare zu erstellen und so, dass ich in die Site einbetten und von dort aus komplett manipulieren kann. Ich bin mir nicht sicher, wie viel Kontrolle Sie über die direkte Manipulation Ihrer Google-Seitenelemente haben. – Gerneio

0

Jetzt, wo ich verstehe, was Sie suchen, überprüfen Sie diese link.

Es gibt eine Methode zum Abrufen und Festlegen des HTML-Inhalts der angeforderten Seite. Durch Manipulation der generierten Zeichenfolge sollte es möglich sein, das div dann in die erforderliche Klasse und andere solche Dinge zu ändern. Das sollte ein guter Anfang sein, wir müssen mit dem Rest herumspielen.

This könnte auch hilfreich sein, aber ich glaube, dass es mehrere Einschränkungen hat.