setAttribute不起作用

时间:2013-09-23 23:08:36

标签: javascript jquery setattribute

我正在制作一个用于表单验证的插件作为练习,但由于某些原因我创建了一个h2元素并尝试设置它的属性后,它无法正常工作。这是代码

    var testing = function(regex, value, error_msg, error_msg_field_id){
        var pattern = new RegExp(regex);
        if (!pattern.test(value)){
            var ele = document.createElement("H2");
            var node = document.createTextNode(error_msg);
            ele.setAttribute('style', 'color:white');
            alert("hi");
            jQuery(error_msg_field_id).append(node);
        }
    }

文本显示没有问题,但它不是白色。这对我来说毫无意义

1 个答案:

答案 0 :(得分:3)

您正在使用setAttribute,但是您在h2元素上设置了属性,从未实际插入在您的DOM中。

您可以将代码的相关部分更改并简化为:

var ele = document.createElement("H2");
ele.textContent = error_msg;
ele.setAttribute('style', 'color:white');
jQuery(error_msg_field_id).append(ele);

此处 jQuery 的使用也不是必需的。你可以简单地使用

document.querySelector("#" + error_msg_field_id).appendChild(ele);

同样简单。