在Firefox中创建元素

你好, 我正在Firefox中的页面上创建一个元素. 但这给了我Firefox的错误. 字符串包含一个无效的字符"代码:" 5 [中断此错误]县[c] = document.createelement('"'' +) CountyvmlText +'""); 我在页面上添加了SVG形状. 这是形状:

这是我的JavaScript: var shps = document.getElementsbytagname(" svg"); lastShp = shps.length shps2 = shps.item(0).parentNode var resptext = req.responsetext countervmlarray = resptext.split("

# 回答1

桑尼写道: CreateElement获取元素名称,不允许元素名称 包含双引号字符". document.createelement('"'' + countyvmltext +'"'") 是胡说八道,因为它将构建一个元素名称作为参数 以双引号开始和结尾的创建元素. 此外,如果要创建SVG元素,则需要W3C DOM级别2名称空间方法createlementns,例如 var svgel = document.createelementns('http://www.w3.org/2000/svg', 'svg'); 如果您有带有XML标记的字符串,则不能将其传递给 createlement或createElementns,而不是Firefox/Mozilla,您需要 使用Domparser,例如 var doc = new domparser().解析( '
# 回答2

10月6日,上午10:02,Martin Honnen
# 回答3

桑尼写道: 好吧,我给了您一个元素名称的示例:'svg'. 我不知道什么 CountyxmlText具有其价值,但您需要传递元素名称 例如" SVG"或" Circle",而不是标记. 我也给你一个适当的SVG片段字符串的示例 存在名称空间: var doc = new domparser().解析( '

','application/xml'); document.body.body.appendchild(document.body.body.ownerdocum ent.importnode(doc.documentElement, 真的)); 因此,请确保您的标记本应为SVG具有适当的 命名空间,否则XML解析器不会将其识别为SVG,并且 不会构建以形状呈现的SVG DOM元素. - - Martin Honnen http://javascript.faqts.com/

# 回答4

10月6日,下午12:44,Martin Honnen

','application/xml'); document.body.body.appendchild(document.body.body.ownerdocum ent.importnode(doc.documentElement, 真的)); 因此,请确保您的标记本应为SVG具有适当的 命名空间,否则XML解析器不会将其识别为SVG,并且 不会构建以形状呈现的SVG DOM元素. - - Martin Honnen http://javascript.faqts.com/ 嗨,马丁, 我现在可以在网页上创建SVG对象. 感谢您的帮助. 有什么方法可以将事件附加到元素并更改不透明度. 这是到目前为止的代码: countervmlarray = resptext.split("

# 回答5

桑尼写道: 您将事件的侦听器附加到解析的结果. 那不是将插入的节点,因为encientnode创建了一个 克隆. 所以尝试 var tempdoc = new domparser().解析(countyvmltext, 'application/xml'); 县[c] = shps2.WownerDocument.ImportNode(县[c] .documentElement,true)); 县[c] .addeventListener('click',testClick,false); shps2.appendchild(县[c]); 还取决于您的标记,您可能不想打电话 县[C]的AddeventListener,但在儿童或后代元素上. - - Martin Honnen http://javascript.faqts.com/
# 回答6

10月7日,7:05*上午,Martin Honnen
# 回答7

桑尼写道: 您传递到AddEventListener方法的功能作为第二个 参数为一个参数,即事件对象,例如 foo.addeventListener('click',mylistener,false); 和 功能mylistener(evt){ 警报(evt.target.tagname); } - - Martin Honnen http://javascript.faqts.com/
# 回答8

10月7日,上午10:03,Martin Honnen

标签: Javascript

添加新评论