2016-03-24 9 views
0

Web sitelerim için Google Sites'ı kullanıyorum ve bunların bir kısmının dinamik olmasını istiyorum. Bu nedenle, elde etmek istediğim, belirli bir HTML öğesiyle ilişkilendirilmiş CSS sınıfını bir tıklama etkinliğinin varlığında değiştirmek.Google Sites ve Google Uygulama Komut Dosyalarını kullanarak, bir HTML öğesinin CSS sınıfını dinamik olarak nasıl değiştirebilirim?

Örn: Başlangıç ​​durumu: "Dünya" üzerine tıkladıktan sonra

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

:

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

cevap

0

sonra, div bir kimlik ekleyin: Alternatif

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

yapabilirsiniz tüm öğeleri o sınıf adıyla al, sonra sınıf adlarını değiştirmek için bunlara dönüş.

function method() { 
    var myDivs = document.getElementsByClassName("foo"); 

for (var i = 0; i < myDivs.length; i++) 
    myDivs[i].className = "bar"; 
} 

Artık, değişiklikler yapmadan önce belirli koşulları kontrol etmek için/else ifadeleri ekleyebilirsin.

+0

Ne yazık ki, 'documentet. ... 'Google App Komut Dosyalarında çalışmaz. – Florian

+0

Sayfanızı GAS doGet() işlevinden oluşturmak için HTML hizmetini kullanıyor musunuz? – Gerneio

+1

Ah Görüyorum, sanırım gerçek Google sitenizi GAS'den değiştirmeye çalışıyorsunuz, doğru mu? Yaptığım şey, özel HTML formları oluşturmak için HTML hizmetini kullanarak ve siteye yerleştirebileceğim ve oradan tamamen değiştirebileceğim GAS web uygulamaları oluşturuyor. Google site sayfa öğelerinizi doğrudan yönlendirmek konusunda ne kadar kontrol sahibi olduğunuzdan emin değilim. – Gerneio

0

Şimdi aradığınızı anlıyorum, bunu kontrol edin link.

İstenen sayfanın HTML içeriği için bir get ve set yöntemi vardır. Oluşturulan dizgeyi manipüle ederek, daha sonra divı gereken sınıfa ve benzeri şeylere değiştirmek mümkün olmalıdır. Bu iyi bir başlangıç ​​olmalı, diğerleriyle birlikte oynamak zorundayız.

This da yardımcı olabilir, ancak bazı sınırlamaları olduğuna inanıyorum.