Javascript 优雅地删除div之外的html内容

Javascript 优雅地删除div之外的html内容,javascript,dom,html,google-translate,Javascript,Dom,Html,Google Translate,我正在使用google translation API将一些内容插入我的页面(一个下拉框),其中一些内容在任何div或其他元素之外,但我想删除它 <div class="skiptranslate goog-te-gadget" style=""> <div id=":0.targetLanguage"> <select class="goog-te-combo"> </select> </div> Powered

我正在使用google translation API将一些内容插入我的页面(一个下拉框),其中一些内容在任何div或其他元素之外,但我想删除它

<div class="skiptranslate goog-te-gadget" style="">   
 <div id=":0.targetLanguage">
  <select class="goog-te-combo">
  </select>
 </div>
 Powered by   // want to remove this 
但这似乎重置/破坏了API的一些其他特性,我需要保持这些特性不变

有没有更优雅的方法


编辑-关于服务条款,如果这是不允许的,是否有人知道我可以使用开源API?

如果您删除此类内容,我相信您将违反许可协议,并导致他们的欺诈行为

请记住,不推荐使用付费服务


最好的办法是,如果你想得到谷歌今年宣布的免费版本,就不要再考虑谷歌翻译服务,而使用其他免费服务,例如。

如果你删除了这些东西,我相信你会违反许可协议,并犯下欺诈罪

请记住,不推荐使用付费服务

最好的办法是,如果你想获得谷歌今年发布的免费版本,就不要再考虑谷歌翻译服务,而使用其他免费服务,例如来自以下网站的。

警告此API要求在任何API输入附近显示属性 框和结果的显示,表明它是“由 谷歌”。如果您选择不使用.getBranding(),您有义务 自己提供这个品牌

从:

警告此API要求在任何API输入附近显示属性 框和结果的显示,表明它是“由 谷歌”。如果您选择不使用.getBranding(),您有义务 自己提供这个品牌


在四处寻找有关此事的一些信息时,我得出以下结论:

你为什么不缩小“额外”的内容,让它在你的网站上少一些干扰,但仍然比大多数合同底部的小字体更清晰。因此,您应该遵守服务条款,不要在页面上放弃太多不动产

以下是一些CSS魔法,可以在大多数浏览器上发挥作用:

我使用“最新”的Chrome、Safari、FireFox和MSie8做了一个快速测试,并在页面上显示了Google Translate:


函数googleTranslateElementInit(){
新的google.translate.TranslateElement({
页面语言:'en',
盖特拉克:没错,
gaId:'UA-xxxxxxxx-x',
布局:google.translateElement.InLineLayout.HORIZONTAL
}“谷歌翻译元素”);
}

刚刚注意到Windows上的FireFox没有做下拉列表。但是如果没有上面的CSS技巧,它就有问题了(!!)

使用数字和你最喜欢的浏览器来调整你的需求

我想把水平线分成两行,使它更紧凑。这可能需要一些JavaScript或其他方法来解析并在正确的位置插入一个
??可能使用类似于上面的方法来修改谷歌提供的其他布局之一。只要商标还在,我们就可以。。。对吧?


玩得开心

在四处寻找有关这件事的信息时,我想到了以下几点:

你为什么不缩小“额外”的内容,让它在你的网站上少一些干扰,但仍然比大多数合同底部的小字体更清晰。因此,您应该遵守服务条款,不要在页面上放弃太多不动产

以下是一些CSS魔法,可以在大多数浏览器上发挥作用:

我使用“最新”的Chrome、Safari、FireFox和MSie8做了一个快速测试,并在页面上显示了Google Translate:


函数googleTranslateElementInit(){
新的google.translate.TranslateElement({
页面语言:'en',
盖特拉克:没错,
gaId:'UA-xxxxxxxx-x',
布局:google.translateElement.InLineLayout.HORIZONTAL
}“谷歌翻译元素”);
}

刚刚注意到Windows上的FireFox没有做下拉列表。但是如果没有上面的CSS技巧,它就有问题了(!!)

使用数字和你最喜欢的浏览器来调整你的需求

我想把水平线分成两行,使它更紧凑。这可能需要一些JavaScript或其他方法来解析并在正确的位置插入一个
??可能使用类似于上面的方法来修改谷歌提供的其他布局之一。只要商标还在,我们就可以。。。对吧?


玩得开心

如果我错了,请纠正我,但这不会违反服务条款吗?我不确定。这更像是一个小工具,而不是完整的API,两者可能有所不同。你知道任何具体的文档吗?如果我错了,请纠正我,但这不会违反服务条款吗?我不确定。这更像是一个小工具,而不是完整的API,两者可能有所不同。你知道任何具体的文件吗?我通读了这些条款,但我并不完全清楚。你知道它在哪里明确说明了这一点吗?我使用的或多或少只是一个下拉列表来翻译页面上的所有内容(这是一个免费的API)…我不确定这是否会在今年12月11日关闭。还有一行:从API返回的内容。如果您遵守这些条款,您可以存储和修改API返回的内容。谷歌表示,为了支持v2,它将关闭该服务。我从未读过任何与此相反的东西。你可以很容易地使用相同的,这就是我们正在做的。我通读了这些条款,但我并不完全清楚。你知道它在哪里明确说明了这一点吗?我使用的或多或少只是一个下拉列表来翻译页面上的所有内容(这是一个免费的API)…whet
     var body = document.getElementById("container");
     body.innerHTML = body.innerHTML.replace("Powered by", " ");
/* shrinks the entire contents of the GoogleTranslate main div to 70%, still readable */
#google_translate_element {
  zoom: .7;
  -moz-transform: scale(.7); /* FireFox understands this */
  -moz-transform-origin: 0 0;
}

/* within that, further shrink 'provided by' text, which affects the math elsewhere ... */
#google_translate_element div {
  font-size: 25%;
}

/* on hover of the select (drop down), make it a bit bigger, don't forget it was shrunk */
#.0.targetLanguage select:hover {
  font-size: 2250%; /* don't ask, it worked in Chrome & Safari, IE 8 (!) seemed ok too */ 
}
<script>
  function googleTranslateElementInit() {
    new google.translate.TranslateElement({
      pageLanguage: 'en',
      gaTrack: true,
      gaId: 'UA-xxxxxxxx-x',
      layout: google.translateElement.InLineLayout.HORIZONTAL
    }, 'google_translate_element');
  }
</script>

<script src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit">
</script>