[HTML问题] 标签中的class如何理解?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[HTML问题] 标签中的class如何理解?相关的知识,希望对你有一定的参考价值。
class属性规定元素的类名(classname)。class属性大多数时候用于指向样式表中的类(class)。不过,也可以利用它通过javascript来改变带有指定class的html元素。
html中的class=是一个选择器,可以理解为一个标识,用来标识特定的标签。
比如:<divclass="div1"></div>这就是一个标识效果,以后想要改变这个div的样式的话就可以找class为div1的元素了。
另外一般的flash文件是不可视的,它只是调用了而已。当想单独观看或者直接下载这个flash文件的话,就可以把这个flash的名称按照路径拷贝到浏览器里就可以直接看了。
扩展资料
对Html5中的id和name以及class属性的理解
id、name、class的用途:
(1)id是标签的唯一标识,多用于js脚本中,比如页面中有多个元素,让我们想在js脚本中对某个特定元素进行设置的时候,我们可以根据id来直接访问该元素。
同时,id也可用于css样式中,当我们想对某个单独的元素做出改变样式时候可以进行设置,使用 #元素id 方式来改变样式
(2 )name多用于表单中,用来和服务器进行交互,如CheckBox标签和radio标签等,对应的name属性的值就是提交表单后变量的名称。
(3)class多用于设置CSS样式 ,当我们想让很多元素拥有相同的样式时,可以通过class属性的值来统一选择,通常为 .class的属性 设置css样式做法一般是先通过类设置大部分相同的元素样式,再通过ID设置独特的元素样式。
对于id name class属性值,我个人的感觉是能用到的时候再定义,不然要么元素过多,定义太多记不住,要么定义了用不到,浪费时间 id多用于js和css,强调每个元素的独特性;name多用于form表单,强调交互;而class多用于css的设置,强调标签的共同性。
参考技术A class就是给这个标签加上CSS样式喽。比如说有下面代码:.redColorbackground:red
如果说一个标签要它背景为红的,那就可以这样写了class="redColor"
也就是说,有些CSS写好了,放在“类”里面,如果正好有个标签要用这些CSS,就不用单独给这一个标签加CSS了,只写上class="类",就能给这个标签加上那个类里存放的属性了。“类”的作用之一就是重用CSS,也就是,如果有八个标签要用与这个“类”里相同的CSS,只要在这八个标签中都简单的写上class="类"就好了,这样操作更有效率。
不知道是不是回答了你的问题!?本回答被提问者采纳
如何根据 html 中的标签和类内容使用正则表达式选择文本? [关闭]
【中文标题】如何根据 html 中的标签和类内容使用正则表达式选择文本? [关闭]【英文标题】:How do i select text with regex based on tag and class content in html? [closed] 【发布时间】:2021-08-17 09:18:42 【问题描述】:我有一个 html 标签作为字符串。如果这个标签的class属性中包含'md',我想选择它并获取标签中的表达式。
例子:
'<tag class="...blah md blah...">(expression)</tag>
<tag></tag>
是第一个选择器
包含的类属性 md
是第二个选择器
同时标签不能为空。
我的意思是,我需要一个以<tag>
开头并以</tag>
结尾并在类属性 中给出带有md
的标签的正则表达式,但我无法摆脱它。
我所做的是尝试选择具有直接 md 属性的那些,但这是错误的。嵌套标签也有问题。
(<b md(?!<|>).+>|<b \S+ md>|<b md>|<b .+ md .+>)(.+)(<\/b>)
https://regex101.com/r/3Vv0WG/1
我认为正确的形式在类属性中,但我无法编写这个正则表达式。感谢您的帮助。
例子:
'<b class="... md ..."></b>'
不匹配,因为标签为空
'<i class="..."></i>'
不匹配,因为类属性不包含 md
<span class="...md...">ANYTHING</span>
匹配
不嵌套会更合适,因为它会导致代码混乱。
【问题讨论】:
为什么不使用带有classList.contains()
或domparser的dom和javascript?
这是一个替换循环,我有一个字符串,而不是一个 html 元素,我需要替换符合这个条件的文本,所以我必须用正则表达式检查类,因为它不是dom 元素,我还需要检查它的标签。
可以有嵌套元素吗?
@RıdvanOnal 第四只鸟可能会问,因为它完全不同,如果可能出现嵌套标签,例如<b>abc<b>de</b></b>
。也许您可以稍微澄清一下您的问题,包括场景、输入、预期结果、您使用的工具......
完全正确 :-) 您可以使用 regex101.com/r/Girb1Y/1 侥幸逃脱,但这很容易中断,使用 DOMParser 读取字符串可能仍然是更好的选择。
【参考方案1】:
如果您没有可用的解析器或 dom,并且只能从带有模式的字符串中获取部分,您可能会逃脱:
<(\w+) [^<>]*\bclass\s*=\s*"[^"]*\bmd\b[^"]*"[^<>]*>[^<>]+<\/\1>
Regex demo
注意事项
[^
表示一个否定字符类,匹配除所列字符以外的任何字符
(\w+)
捕获第 1 组中的 1+ 个单词字符,\1
是与第 1 组相同的反向引用
该模式假定ANYTHING
部分没有字符<
或>
md
在单词边界之间匹配,防止与另一个“单词”部分匹配
» 深思熟虑,阅读tony the pony。
【讨论】:
以上是关于[HTML问题] 标签中的class如何理解?的主要内容,如果未能解决你的问题,请参考以下文章
如何根据 html 中的标签和类内容使用正则表达式选择文本? [关闭]