【发布时间】:2013-09-23 23:08:35
【问题描述】:
我正在制作一个用于表单验证的插件作为练习,但由于某种原因,在我创建了一个 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);
}
}
文本显示没有问题,但不是白色。这对我来说毫无意义
【问题讨论】:
-
ele.style.color = white;? -
顺便说一句,只是一个建议:使用
console.log而不是alert(除非您在 IE 中检查您的代码)。 -
@user308553 你在哪里附上了
ele?您创建了元素,但没有将其附加到文档中。 -
你为什么不用
innerHTML而不是createTextNode和jQuery.append?它更快。 -
@SuperScript,一般来说,innerHtml 比创建和附加元素要慢(例如here)。当您只想更改文本时,
textContent是一个很好的选择,因为您还可以删除任何不需要的 HTML 插入。
标签: javascript jquery setattribute