如果你自定义了一个标签,比如<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或更高版本的浏览器