2010-11-12 155 views
1

我想從一個已定義的textarea中提取出一個DOM對象。 實施例:如何從textarea中提取DOM對象?

<textarea id="myTextArea"><span id="sp1">some text</span></textarea> 

注:<跨度>內部< textarea的>被解碼。我只是想通過它的id在textarea中找到一個特定的<範圍>,並從中實例化一個新的對象。

作爲然而,我想下面無濟於事:

var spanObject = $("#myTextArea").val().find("span#sp1); 

任何幫助將不勝感激!

謝謝。

+0

請看看我的最新動態!謝謝。 – Gurdeep 2010-11-12 15:54:46

+0

val()的返回值是一個包含你的''標記的字符串,而不是一個jQuery對象。通過將調用嵌套到'$()',您需要將該字符串轉換爲jQuery對象。然後jQuery將從你的字符串中創建一個元素樹。 – 2010-11-12 16:08:11

+0

我有'空'傢伙!即使循環遍歷所有跨度,我仍然會得到'null'。我究竟做錯了什麼?有任何想法嗎?謝謝。 – Gurdeep 2010-11-12 16:17:50

回答

3

你可以這樣做:

$($("#myTextArea").val()); 
+0

@patrick,你是對的,一個元素不能'find()'本身。答案已更新。 – 2010-11-12 16:07:43

+0

+1 - 這將工作。編輯:對不起,意外刪除了我的評論。無論如何,是的,你的正確版本是好的。 :O) – user113716 2010-11-12 16:08:11

1

事情是這樣的:

var $obj = $($('selector for your textarea').val()); 
var $yourSpan = $obj.find ('#sp1'); 

首先創建從任何字符串存在textarea的DOM對象,那麼您需要的元素搜索這個新的DOM對象(jQuery對象實際上)。

+0

+1爲正確的技術,但你應該使用'val'作爲textareas。 – casablanca 2010-11-12 15:54:49

+0

@casablanca是的!糾正它!謝謝 – 2010-11-12 15:57:13

+0

.val給出了正確的值,它如何返回.. ..參考 – kobe 2010-11-12 16:00:54