为什么Chrome不允许通过JS更改样式标记?

时间:2014-07-04 05:20:49

标签: javascript html css google-chrome

我正在运行此代码:

    jQuery.get("http://email.hackmailer.com/checkuser.php?email=".concat(document.getElementById('name').value).concat(document.getElementById('domain').value), function(data) {
        if(data == "true") {
            document.getElementById('containerThree').style = "background-color:#20bb47;";
        }else{
            document.getElementById('containerThree').style = "background-color:#b33535;";
        }
        document.getElementById('avail').style = "color:#272727;";
        document.getElementById('emt').style = "color:#272727;";
    });

它在FireFox中运行良好,但在Chrome中根本没有。我尝试过使用.style.background = "#mycolorcode",但它仍无法在chrome中运行(在这种情况下,也是firefox)。

2 个答案:

答案 0 :(得分:3)

试试这个:

if (data === 'true') {
  document.getElementById('containerThree').style.backgroundColor = '#20bb47';
} else {
  document.getElementById('containerThree').style.backgroundColor = '#b33535';
}

http://devdocs.io/html/element/style

http://youmightnotneedjquery.com/

注意:'true'是一个字符串。您很可能宁愿使用布尔true

根据您对问题的最新修改,您对周围代码的清理是否有帮助?

jQuery.get('http://email.hackmailer.com/checkuser.php?email='
           .concat(document.getElementById('name').value)
           .concat(document.getElementById('domain').value), 

            function (data) {

              if (data === true) {
                document.getElementById('containerThree').style.backgroundColor = '#20bb47';
              } else {
                document.getElementById('containerThree').style.backgroundColor = '#b33535';
              }

              document.getElementById('avail').style.color = '#272727';
              document.getElementById('emt').style.color = '#272727';

});

答案 1 :(得分:1)

您无需将字符串发送为“true”来检查条件。使用它像:

var data = true; //use boolean but not 'true' as string.

然后你可以简单地使用它如下:

jQuery.get("http://email.hackmailer.com/checkuser.php?email=" + document.getElementById('name').value + document.getElementById('domain').value, function(data) {
    var colorValue = "#272727";
    document.getElementById('containerThree').style.backgroundColor = data == "true"?"#20bb47":"#b33535";
    document.getElementById('avail').style.color = colorValue;
    document.getElementById('emt').style.color = colorValue;
});

顺便说一句,我不确定.style = "background-color:#20bb47;";是如何为你工作的。