大佬教程收集整理的这篇文章主要介绍了JavaScript – 测试元素是否可以包含文本,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
例如,< br>,< hr>或< tr>不能包含文本节点,而< div>,< td>或< span>能够.
测试此属性的最简单的方法是控制标签名称.但这是最好的解决方案吗?我认为这是最糟糕的
编辑:为了澄清问题的意义,需要指出的是,完美的答案应该考虑两个问题:
>根据HTML标准,元素可以包含文本节点吗?
>如果元素包含一些文本,会显示吗?
显然,前面列表的每个点都有一个子回答.
显然还有一些unofficial标签.
您可以使用黑名单并使用.prop(‘tagName’)获取标签名称:
(function ($) { var cAnnotContaintext = ['AREA','BASE','BR','COL','EMBED','HR','IMG','INPUT','KEYGEN','LINK','MENUITEM','META','PARAM','sourcE','TRACK','WBR','BASEFONT','BGSOUND','FRAME','ISINDEX']; $.fn.canContaintext = function() { var tagName = $(this).prop('tagName').toUpperCase(); return ($.inArray(tagName,cAnnotContaintext) == -1); }; }(jQuery)); $('<br>').canContaintext(); //false $('<div>').canContaintext(); //true
在这里,您还可以将自己的标签添加到cAnnotContaintext(例如,添加< tr>,它不是正式的一个void元素,因为它不匹配specification“一个void元素是一个元素,其内容模型永远不允许它具有内容在任何情况下,虚空元素都可以有属性.“).
以上是大佬教程为你收集整理的JavaScript – 测试元素是否可以包含文本全部内容,希望文章能够帮你解决JavaScript – 测试元素是否可以包含文本所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。