2011-02-11 59 views
2

如果用户将HTML放入textarea字段中,如何检查插入的文本是否为<object>标记?jQuery检查并获取子元素的属性

如果为true,我想将<object>的src属性赋值给一个变量。

什么是最有效的方法来做到这一点?

<div id="embed"> 
    <textarea> 
     <object src="..."></object> 
    </textarea> 
</div> 

回答

0
var $obj = $($("#embed textarea").text()); 
var src = $obj.is("object") ? $obj.attr("src") : null; 

固定它

2

尝试......

var textarea = $('#embed textarea'), 
    textareaValue = textarea.val(), 
    textareaValueDom = $(textareaValue); 

if (textareaValueDom.is('object')) { 
    var src = textareaValueDom.attr('src'); 
    console.log(src); // http://example.com 
} 

jsFiddle

+0

有趣的解决方案。 – Jeff 2011-02-11 02:56:08

+0

谢谢,你的答案与接受的答案类似,但是因为我问到效率问题,Ivanov代码获胜。它比http://jsperf.com/is-selector1快大约15%。 – Hussein 2011-02-11 03:04:39