用jQuery创建HTML中不存在的标签元素碰到的问题

用jQuery创建HTML中不存在的标签元素碰到的问题

如果你自定义了一个标签,比如<aaa></aaa>

用jQuery的写法,比如var custom_element = $('<aaa class="ee"></aaa>');

生成对象是没有问题的,但是如果向对象中添加元素比如 custom_element.append('<div>ok</div>'),在IE8下就会抛出异常:“意外地调用了方法或属性访问。”

如果只是$('<aaa></aaa')生成的元素,并不会出异常,但是添加了class等属性的话,就会出问题。

解决办法有两个:1.把class拿出来,用jQuery只创建元素,然后通过addClass和attr等方式修改自定义标签的属性。

2.使用$(document.createElement('AA'))这种方式,将原生的JS创建的对象转换为jQuery对象,然后再用addClass或attr等方法修改自定义元素的属性。

3.使用IE9或更高版本的浏览器