javascript - setAttribute 不起作用

标签 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);
        }
    }

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

最佳答案

您正在使用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);

这同样简单。

关于javascript - setAttribute 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18970358/

相关文章:

javascript - 我没有构建的系统中的 JSON 解析错误

javascript - Internet Explorer 和 Office 加载项之间不共享持久 cookie

javascript - 正则表达式将字符串拆分为单独的键

javascript - 不区分大小写的 XPath contains() 可能吗?

javascript - HTML 随 element.setAttribute ("onclick","alert(' Test') ;") and element.onclick = "alert ('Test' );"; 变化

java - 在 JSP 页面中使用 request.setAttribute

javascript - 动态创建选择字段 ->selected< 选项不显示

javascript - Rss feed 项目被多次拉入

jquery - ajaxform:如何删除它,以便采取默认提交操作

javascript - 要使用getAttribute(),还是不要使用getAttribute() : that is the question