document.querySelector("foreignObject") is null in
document.querySelector("foreignObject") is null in Chrome
在HTML5中使用嵌入式SVG时,我在Chrome浏览器中发现了奇怪的行为。(http://jsfiddle.net/complynx/htp4hqe2/)
例如,在以下html/svg
代码中:
<svg>
<foreignObject>
<body xmlns="http://www.w3.org/1999/xhtml">
<div>foo</div>
</body>
</foreignObject>
</svg>
<script>
var T=document.querySelector("foreignObject");
</script>
在Chrome中,变量T
将为null(对于Firefox来说工作正常)。任何其他选择器,即使对于<foreignObject>
的内容,也可以正常工作。
对于这种情况,Chrome中是否有特定于标签的选择器?
上升:正如Rob W在评论中提到的,WebKit中存在一个已知的错误。
简单,但在某些情况下不是很好的解决方法。
<svg>
<foreignObject class="ForeignObjectStubClass">
<body xmlns="http://www.w3.org/1999/xhtml">
<div>foo</div>
</body>
</foreignObject>
</svg>
<script>
var T=document.querySelector(".ForeignObjectStubClass");
</script>
使用CSS类而不是标记名就足够了
编辑、更新
尝试
var _T = document.getElementsByTagName("foreignObject");
// select `DIV` element within `_T` `HTMLCollection`
var filtered = _T[0].children.item("DIV");
console.log(filtered);
jsfiddlehttp://jsfiddle.net/guest271314/htp4hqe2/2/
参见ParentNode.children,HTMLCollection;另请参阅NodeFilter
相关文章:
- 铬:“;未捕获的语法错误:意外的标记:"
- Is onfling available for html, html5
- jQuery is not loaded
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- reactRedux is not defined
- 使用“+="操作人员
- //而不是在src=“”上使用http://"属性
- "未捕获的语法错误:意外的标记}"
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- "实例范围”;TypeScript类的getter/setter
- Javascript复选框函数:;缺少:在属性id之后"
- "“;变量未引用正确的对象
- ReferenceError: cordova is not defined @ng-cordova.min.js:7
- "日期“;AJAX请求返回的类型值未定义
- Jquery - table.row(tr) is undefined
- 得到"TypeError:无法读取属性'filename'未定义的“;调用“npm start
- Soundcloud api"未捕获的类型错误:无法读取属性'uri'“未定义”;
- JavaScript/jQuery - "$ is not defined- $function()"