我在jQuery中动态创建一个对象元素,以呈现一些内容。它适用于IE8以外的所有浏览器。
代码:
j$(document).ready(function(){
j$('.objContainer').html(j$('<object>').attr(
{'data':'http://www.stackoverflow.com',
'type':'text/html'}));
});
执行后创建的HTML结构(在IE8中):
<object type="text/html"></object>
在其他浏览器中[IE9,Firefox,Chrome]:
<object data="http://www.stackoverflow.com" type="text/html"></object>
任何解决方案?
答案 0 :(得分:3)
适合我:使用IE8开发人员工具,我可以看到数据属性。这是一个screenshot。
(我知道我不应该这么说,但是:你需要确保你允许脚本运行。)
答案 1 :(得分:1)
如果看到here, IE 不支持数据(数据集)。
您可以做的是重命名 数据到 data-foo ,then $(..).data("foo")
将有效
甚至在 IE 中,因为jquery本身的特殊处理。
这是绕过 IE 的数据集限制的一种方法。
答案 2 :(得分:1)
它应该可以正常工作,虽然我建议你使用$ .data()方法
http://api.jquery.com/jQuery.data/
它更加安全,jQuery确保在通过jQuery方法删除DOM元素时删除数据。
示例:
<object id='myObj' data-url="http://www.stackoverflow.com" type="text/html"></object>
您可以阅读以下值:
var url = $('#myObj').data('url');// Read the value
$('#myObj').data('url', 'some-other-value');// Set a new value