如何通过jquery检查html元素是否有一些html标签?
案例:应该选择对象
示例:
function getDomPart(text,htmlTag){
return $(text).closest(htmlTag).get(0);
}
var text1='<object>some text + html elements </object>';
var text2='<div><object>some text + html elements </object></div>';
alert(getDomPart(text1,'object'));
alert(getDomPart(text2,'object'));
结果应该是:一些文本+ html 元素 但事实并非如此。
请告诉我应该修复什么。
编辑: 请参阅我的回答和简短的解决方案。
The case : should select object
example:
function getDomPart(text,htmlTag){
return $(text).closest(htmlTag).get(0);
}
var text1='<object>some text + html elements </object>';
var text2='<div><object>some text + html elements </object></div>';
alert(getDomPart(text1,'object'));
alert(getDomPart(text2,'object'));
the result should be: some text + html elements
but its not.
please tell me what should be fixed.
Edit:
please see my answer with short solution.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
最接近的是向上搜索 DOM,而不是像
find
那样向下搜索。最近的文档:
查找文档:
所以对于text1,它应该是
closest
,对于text2,它应该是find
:使用
.html
来获取你想要的文本。JSFiddle DEMO
更新:
用一种方法完成:
JSFiddle 演示
closest is searching the DOM up, not down like
find
.closest docs:
find docs:
so for text1 it should be
closest
and for text2 it should befind
:Use
.html
to get the text you wanted.JSFiddle DEMO
Update:
To do it in one method:
JSFiddle DEMO
尝试使用
find()
来获取元素的子元素,并使用andSelf()
来获取元素本身。Try to use
find()
for the element's children andandSelf()
to get the element itself.我想到的解决方案:添加包装元素然后只能使用查找:
演示:
http://jsfiddle.net/EaZrs/5/
The solution that i get idea about : add wrapper element then can be used only find :
Demo:
http://jsfiddle.net/EaZrs/5/