爲了識別用戶正在點擊的元素,我試圖使用事件對象target
。無法將event.target轉換爲字符串
$(document).click(function (e) {
var str = e.target.toString();
console.log(str);
if (str.indexOf("some class or id") >= 0) {
//do something
};
});
然而.toString()
似乎並沒有對e.target
一個有用的效果。如果我這樣做:
console.log(e.target);
我得到一個字符串,其中包含DOM元素的開頭,例如<div class="myclass">
。這是必要的,以檢查是否有子的存在,例如myclass
「或myid
,使用indexOf
。
我在這裏的目的是識別通過觀察event.target
對其中div的,用戶點擊」 myclass
但是,如果我嘗試將它做成一個字符串」。
然而indexOf
不會在這裏工作,因爲它會返回‘str是不是一個函數’
,因爲這樣的:
console.log(e.target.toString());
我得到[object HTMLDivElement]
。沒有我需要的HTML字符串的痕跡。
如何將event.target
的輸出轉換爲我可以操縱的字符串?
p.s請注意,這種情況與this one非常相似,關於event.target.id
:但所提出的解決方案對我無效。
是否要檢查元素的文本內容,或者你只是想看看它是否屬於一個特定的類?如果你確實需要這些內容,那麼innerHTML,innerText等將是通常的嫌疑犯。 – CBroe
您的實際需求是什麼?你想獲得被點擊的物品的html代碼,或者你想要用class或id來標識物品?具體問題。 –
正如我上面寫的,「這是爲了檢查是否存在一個子字符串,例如myclass」或「myid」event.target的輸出似乎只是一個元素的開始,無論如何...因爲我需要知道用戶點擊哪個div。我對innerHTML不感興趣,我只是用這個開始找到我尋找的類或id。 – nico