我有下面的代码行
var divElement= document.createElement( 'div' );
divElement.setAttribute( "id", "testId" );
element[ 0 ].append( divElement);
其中"element"是指令中的$element。因此元素[0]是一个HTMLdiv对象。上面的代码在Chrome和Firefox中运行良好,但在IE中,它给出了"append"是未定义的,并表示"Object不支持属性或方法"append"。
我建议您使用angular.element.append()
而不是ParentNode.append
。否则,您可能需要使用polyfill来支持IE。
ParentNode
mixin的append
方法是一个相对较新的添加;Internet Explorer(目前(是一个相当旧的浏览器。
在您的情况下,由于您附加的是单个元素(而不是HTML或多个节点(,因此可以使用appendChild
(在Node
接口上(:
element[ 0 ].appendChild( divElement);
// ----------------^^^^^
旁注:要设置元素的id
,可以使用反射属性而不是setAttribute
:
divElement.id = "testId";