Jon*_*ler 3 jquery internet-explorer jquery-selectors internet-explorer-8
有时,将DOM元素创建为jQuery对象以用作选择器和上下文非常有用.
在下面的工作都 IE7,IE8和使用jQuery 1.6.2/3的所有其他浏览器-但请注意,document.createElement是用来做这个work.in IE7和IE8.
jQuery('body').append('<div id="basic-render-test"> </div>');
var new_object = {};
new_object.wrapper = '<span id="adfasdfasdfwersadfas3rs">';
//alert(typeof new_object.wrapper);
if (jQuery.browser.msie && jQuery.browser.version <= 8.0){
new_object.el = document.createElement(new_object.wrapper);
} else {
new_object.el = jQuery(new_object.wrapper);
}
new_object.render_into = "#basic-render-test";
jQuery(new_object.render_into).append( new_object.el );
some_html = '<DIV id="type-m" class="translate"> HELLO IE</DIV>';
jQuery(new_object.el).html( some_html );
Run Code Online (Sandbox Code Playgroud)
声明的DOM类型是HTML 5
<!DOCTYPE HTML>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Run Code Online (Sandbox Code Playgroud)
您需要提供实际有效的html代码才能正确创建.在您的示例中,您的span标记未关闭,这导致在IE中评估时代码无效,而其他浏览器倾向于自动修复它.
更换
new_object.wrapper = '<span id="adfasdfasdfwersadfas3rs">';
Run Code Online (Sandbox Code Playgroud)
同
new_object.wrapper = '<span id="adfasdfasdfwersadfas3rs"></span>';
Run Code Online (Sandbox Code Playgroud)
这个例子在IE 7和8上运行完美