有没有办法使用jQuery来查看我的选择器是否是基于文本的字段。
即。当用户点击某个元素时,我们会检查它是否包含文本,而不是图片,视频等。
在jQuery中实现这一目标的最佳方法是什么?
答案 0 :(得分:2)
您可以组合.text方法和.html方法。如果两者的结果一致,则节点只包含纯文本。
text = $('element').text();
code = $('element').html();
if (text == code && text != ''){
console.log('text node');
}
答案 1 :(得分:0)
您可以使用tagName
属性来查找它是什么类型的dom元素,例如;
var someElement = $('[some selector]');
console.log(someElement[0].tagName);
这将为您提供元素名称(即&#39; P&#39;表示<p>
元素。)
然后可以根据您的需要检查一系列文本元素
类似于var textElements = ["P", "H1", H2", "SPAN"]
答案 2 :(得分:0)
您必须测试其子元素,以了解其中一个元素是否包含非文本元素。
if ($(this).find("img,video,object").length==0) {
alert("i am a text only element");
} else {
alert("i am not a text only element");
}
如果它可以触发click事件,你可能必须测试该元素。