ckeditor在IE上的getElementsByTag上丢失自定义标签
文档内容中的如下:
<initTag id="ss">
<myTag id="aa1">text</myTag>
<myTag id="ab2">Text</myTag>
<otherTag id="aac">
<myTag id="ab3">text</myTag>
</otherTag>
</initTag>
<initTag>
位于(变量)itag
var nNode = itag.getElementsByTag("myTag");
for(var x; x<nNode.count();x++){
alert(nNode.getItem(x).getOuterHtml());
}
警告信息如下:
(新添加的除外)哪一个已经在文件中:
<MYTAG id="AB3">
在添加标签之前仅限于:
<myTag id="ab2">Text</myTag>
如何正确获取所有节点?
请同时检查以下代码:
<head runat="server">
<script language="javascript" type="text/javascript">
function btnclick() {
var testctrl = document.createElement("myTag");
testctrl.innerHTML = "test Val";
var tt= document.getElementById("temp");
tt.appendChild(testctrl);
var testnd = document.getElementsByTagName("myTag");
for (var i = 0; i < testnd.length; i++) {
alert(testnd.item(i).outerHTML);
}
}
</script>
</head>
<body>
<div id="temp" >
</div>
<input type="button" id="tbtn" onclick="javascript:btnclick();return false;" value="ClickMe"/>
<myTag>1</myTag>
<myTag>2</myTag>
<myTag>3</myTag>
<myTag>4</myTag>
<myTag>5</myTag>
<myTag>6</myTag>
<myTag>7</myTag>
<myTag>8</myTag>
<myTag>9</myTag>
<myTag>0</myTag>
</body>
答案 0 :(得分:3)
这不是CKEditor丢失这个节点。你必须在IE中添加对它们的支持。
在类似问题上查看我的其他答案:
答案 1 :(得分:0)
请参阅下面的链接:
http://code.google.com/p/html5shiv/
此链接可以解决html5标记问题,您也可以将自己的标记添加到此js文件中。 可能这是你的要求。
您应该在Html5shiv.js上添加您的customTags,如下所示:
if (html5.shivCSS && !supportsHtml5Styles && !data.hasCSS) {
data.hasCSS = !!addStyleSheet(ownerDocument,
// corrects block display not defined in IE6/7/8/9
'myTag,article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}' +
// adds styling not present in IE6/7/8/9
'mark{background:#FF0;color:#000}'
);
在这里:
var html5 = {
'elements': options.elements || 'myTag abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video',
这个答案可以解决你的其他一些问题