检查选择器是否包含jQuery中的文本(即不是媒体)

时间:2015-03-17 09:04:40

标签: javascript jquery validation

有没有办法使用jQuery来查看我的选择器是否是基于文本的字段。

即。当用户点击某个元素时,我们会检查它是否包含文本,而不是图片,视频等。

在jQuery中实现这一目标的最佳方法是什么?

3 个答案:

答案 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事件,你可能必须测试该元素。