2012-11-09 26 views
0

我想確定一個圖像是否一個圖像或不使用jQuery。這應該是直接使用$('selector').is('img'),但這是行不通的。這是Chrome的表情控制檯的屏幕截圖。我不明白爲什麼is()函數失敗。調試器說這個元素是一個HTMLImageElement。有什麼建議麼?確定如果一個元素是一個圖像使用jQuery中的CKEditor

var selectedElement = ckEditor.getSelection().getSelectedElement(); 
var $element = $(selectedElement); 
var isImage = $element.is('img'); 

enter image description here

+0

第一個「要素」的一組是另一種包裝,它的'$'屬性是實際的元素中。你還使用了其他什麼庫? – pimvdb

+0

我從CKEditor的API getSelectedElement()獲取元素,然後將其包裝到一個jQuery集合中。這會有所作爲嗎? – Halcyon

+0

似乎它應該工作。 http://jsfiddle.net/X2nmM/你能創建一個破碎的例子嗎? – CaffGeek

回答

4

documentation.getSelectedElement()返回CKEDITOR.dom.element一個實例,而不是本機的DOM元素。所以當調用jQuery時,你正在封裝另一個包裝器,它不能很好地播放--jQuery不知道如何處理這些CKEditor對象。什麼文檔也說的是,在$屬性是天然的DOM元素,所以:

var $element = $(selectedElement.$); 
+0

似乎是這樣。根據相同的文檔,我認爲你也可以馬上執行'selectedElement.is('img')':http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.dom.element.html#is – David

+0

@大衛:嗯,是的,這個庫有很多jQuery的功能。但使用一個庫可能會更清潔。 – pimvdb

+0

@pimvdb謝謝!我對CKEditor相當陌生,所以這非常有幫助! – Halcyon

相關問題