javascript - 通过 Google Website Optimizer 的多变量测试,我可以在一个 div 上改变多个 css 类吗?

标签 javascript google-website-optimizer

我想使用 Google 网站优化工具 (GWO) 的多变量测试来测试网页的一些不同版本。我可以通过改变 div 上的一些类标签来从一个版本更改到另一个版本,即不同的版本是这种形式的:

<div id="testing" class="foo1 bar1">content</div>
<div id="testing" class="foo1 bar2">content</div>
<div id="testing" class="foo2 bar1">content</div>
<div id="testing" class="foo2 bar2">content</div>

在理想情况下,我可以使用 GWO 部分代码代替每个类,而谷歌只会交换适当的标签( foo1foo2bar1bar2 )。但是,天真地这样做会导致代码格式错误,因为我会尝试将 <script> div 类属性中的标签:

<div id="testing" class="
  <script>utmx_section("foo-class")</script>foo1</noscript>
  <script>utmx_section("bar-class")</script>bar1</noscript>
">
  content
</div>

事实上,浏览器在这一切上都卡住了。

我目前最好的方法就是为测试中的每个变量使用不同的 div,如下所示:

<script>utmx_section("foo-class-div")</script>
  <div class="foo1">
</noscript>
  <script>utmx_section("bar-class-div")</script>
    <div class="bar1">
  </noscript>
    content
  </div>
</div>

因此,测试多个变量需要为每个变量嵌套一层 div,这看起来很尴尬。

有没有我可以使用的更好的方法,我只需要改变单个 div 上的类?

最佳答案

可能最好的方法是:

<div id="testing">content</div>

<script>
var testingDiv = document.getElementById('testing');
</script>

<script>utmx_section("foo-class-div")</script>
  <script>
  testingDiv.setAttribute('class', testingDiv.getAttribute('class') + ' foo1');
  </script>
</noscript>
<script>utmx_section("bar-class-div")</script>
  <script>
  testingDiv.setAttribute('class', testingDiv.getAttribute('class') + ' bar1');
  </script>
</noscript>

关于javascript - 通过 Google Website Optimizer 的多变量测试,我可以在一个 div 上改变多个 css 类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2993199/

相关文章:

javascript在此上下文中导航子元素保存到var

javascript - 通过 HTMLParser 验证 Google 优化器 javascript 代码

asp.net - 将 ContentPlaceHolder 添加到 site.master

google-analytics - 如何在不等待几个小时的情况下测试 Google Analytics Content Experiments?

javascript - JavaScript 问题会破坏浏览器吗?

javascript - ASP.NET 当表单 onsubmit 调用时 DOM 元素消失

javascript - Angularjs 填充下拉列表中所选选项的相应值

javascript - 不间断地播放多部分视频 (HTML5)

javascript - 部署到 Heroku 时异步功能不起作用