nav是什么功能?
HTML<nav>标签
定义和用法
<nav>标签定义导航链接的部分。
HTML4.01与HTML5之间的差异
<nav>标签是HTML5中的新标签。
提示和注释
提示:如果文档中有“前后”按钮,则应该把它放到<nav>元素中。
实例
<!DOCTYPEhtml>
<html>
<body>
<nav>
HTML|
CSS|
JavaScript|
jQuery
</nav>
</body>
</html>
效果:
986ce0cb41145b673ca1838c936858d.png正则优化一:仅处理位于标签内的元素
varformatKeyword=text.replace(/[-\/\\^$*+?.()|[\]{}]/g,'\\$&')//转义处理keyword包含的特殊字符,如/.
varfinder=newRegExp(">.*?"++".*?<")//提取位于标签内的文本,避免误操作class、id等
element.innerHTML=element.innerHTML.replace(finder,function(matched){
returnmatched.replace(text,"<br>"+text+</br>)
})//对提取的标签内文本进行关键字替换
以能解决大多数问题,但依旧存在的问题是,只要标签属性存在类似<符号,将会打破匹配规则导致正则提取内容错误,HTML5dataset可以自定义任意内容,故这些特殊字符是无法避免的。
<divdataset="p>d">替换</div>
(推荐教程:html教程)
正则优化二:清除可能影响的标签
<divid="keyword">keyword</div>
=》将闭合标签用变量替换
[replaced1]keyword[replaced2]//闭合标签内id="keyword"不会被处理
=》
[replaced1]<b>keyword</b>[replaced2]
=》将暂存变量replaced替换为原先标签
<divid="keyword"><b>keyword</b></div>
问题:如果[replaced1]包含keyword,那么替换时将发生异常。
最重要的,当标签值中包含<>符号时,此方法也不能正确的提取标签。
总之在经过了N多尝试之后,通过正则都没能有效的处理各种情况。然后换了个思路,不通过字符串的方式,通过节点处理。element.childNodes可以最有效的清理标签内的干扰信息。
[完美解决方案]通过DOM节点处理
<divid="parent">
keyword1
<spanid="child">
keyword2
</span>
</div>
通过parent.childNodes得到所有子节点。child节点可以通过innerText.replce(keyword,result)的方式替换得到想要的高亮效果,如下:<spanid="child"><b>keyword</b>2</span>(递归处理:当child节点不含子节点时进行replace操作)。
但是keyword1是属于文本节点,只能修改文本内容,无法增加HTML,更无法单独控制其样式。而文本节点也不能转换为普通节点。
web网页有静态网页和什么网页
web网页有静态网页和动态网页。
推荐学习:html教程
动态网页的特点
1.动态页面的内容一般都是依靠服务器端的程序来生成的,不同人、不同时候访问页面,显示的内容都可能不同。网页设计者在写好服务器端的页面程序后,不需要手工控制,页面内容会按照页面程序的安排自动更改变换。
2.采用动态网页技术的网站可以实现更多功能,如用户注册、用户登录、在线调查、用户管理、订单管理等等;
3.动态网页以数据库技术为基础,可以大大降低网站维护的工作量;
4.动态网页实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页;
5.动态网页中的“?”对I搜索引擎检索存在一定的问题,搜索引擎一般不可能从一个网站的数据库中访问全部网页,或者处于技术方面的考虑,搜索蜘蛛不去抓取网址中“?”后面的内容,因此采用动态网页的网站在进行搜索引擎推广时需要做一定的技术处理才能适应搜索引擎的要求。
如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html5/h57402.shtml