2013-09-13 1 views
1

CKEditor element1 как ниже:Element.getElementByTag ("MyTag") иногда возвращает внешний HTML пустую

<element1 id="s1"> 
<mytag>Test1</mytag> 
<span> </span> 
Some text 
<mytag>Test</mytag> 
<span> </span> 
<mytag>Test3</mytag> 
some text 
<span> </span> 
</element> 

var element1=EditorIns.document.getById("s1"); 
EditorIns.focus(); 
var mt=element1.getElementsByTag("mytag"); 
alert(mt.count()); 

Обычно она работает нормально, но иногда mt.count() 0.

Я также попытался с JQuery, как это :

$(element1.$).find("mytag").length; 

У этого также есть та же проблема. Пожалуйста, помогите мне с этим вопросом

+0

Вы уже проверили в консоли 'ли element1' не определено? Что вы подразумеваете под «иногда»? Может быть, jsFiddle? – oleq

+0

Попробуйте использовать селектор оболочки jQuery или аналогичный, он всегда безопаснее –

ответ

0

или

$(element1).find("mytag").length; 

если element1 регулярный HTML элемент

+1

element1 является узлом Ckeditor, поэтому мы можем использовать его как элемент html, например element1. $ – RGA

1
Write the code in a function And call this function same as following :- 

<script type="text/javascript"> 
function testElement(){ 
var element1=EditorIns.document.getById("s1"); 
EditorIns.focus(); 
var mt=element1.getElementsByTag("mytag"); 
alert(mt.count()); 
} 


window.onload=testElement; 

</script> 

The element is loading after complete the page load and window.onload will call when all the elements completely loaded on the page.