.has()和
.find()都在给定元素的子节点上运行.要测试元素本身,请使用
.is():
$(html).is('p'); // true
$(html).is('div'); // false
$(html).is('*'); // true
…虽然我对后者的实用性持怀疑态度,因为它没有专门针对HTML元素进行测试.所以这…
var someMarkup = '';
$(someMarkup).is('*');
……也是如此.如果你省略了最后一个>在这个表达式中,你甚至不会达到:
var noHtmlJustLt = '
$(noHtmlJustLt).is('*'); // Error: Syntax error, unrecognized expression: <
…所以你必须把它包装成try-catch块.
说实话,我可能用不同的方法解决整个任务(检查一个字符串是否有一些流氓标记):用一个常见的技巧逃避原始文本……
var newHtml = $('
…然后将其与原始html内容进行比较.如果没有标记符号,它们应该相等.