js获取html中div里的标签id_【学废了】HTML初步

97cd3bad4ccf32281502ecd71e0d85ab.png

有些程序员说什么都没事,就是说 HTML 是一门编程语言,他马上跳起来跟你吵,非说 html 不是图灵完备啊,html 是标记语言啊之类的。笔者对此不表达任何立场。不过 HTML 确实是一门颇有意思的技术。

简简单单

今天的内容不简单哦,建议多读几次好好地消化。回复 html 可以获取更多阅读资源哦!

游览器拿到了 html, css, js 文件,就开始展示了。其中 html 文件是整个网页的骨架。没有它啥都不会显示出来。它一般都长这样:

 <html>    <head>        <title>Titletitle>        <link rel="stylesheet" type="text/css" href="./style.css" />        <script src="src/index.js">script>    head>    <body>        <p> Hello World p>            body>html>

有没有看晕了?其实很简单。HTML (HyperText Markup Language)是一种标记语言(Markup Language),全称 超文本标记语言。标记语言还有有很多其它种,比如 xml, svg 等都是标记语言。可以看下图了解何为标记语言。

4d7edc320a74b66f9732fa2f13534859.png

每个标记语言都由标签组成。标签可以有属性内容子标签等。有些特殊的标签比如 注释。要注意在 html 中,我们一般把标签叫成元素 (element)。html 有两个元老级属性,在任何标签上都可以加(除了少数比如 注释)。它们就是 class id 。CSS 和 JS 还会遇到它哦!

 <html>    <head>        <title>Titletitle>        <link rel="stylesheet" type="text/css" href="./style.css" />        <script src="js/index.js">script>    head>    <body>        <p> Hello World p>            body>html>

再回到前面的例子。!DOCTYPE 标签声明了这是 html,而不是 svg、xml 之类的。html标签是将一切包裹起来的根元素,它的子元素永远是 headbodyhead声明了一些元信息,比如 title 就是网页标签页的名字。比如百度的title就是 百度一下,你就知道。

f7577e160842e68ddae0ae8408462879.png

link 定义文档与外部资源的关系。它的属性 rel ,全名relationship,顾名思义就是规定当前文档与被链接文档之间的关系。type 是规定被链接文档的 MIME 类型。MIME 类型五花八门,只要知道它是一种表示文件性质和格式的标准。

script 就是脚本标签,它里面没写东西,而是用 src 属性指向了 js/index.js。script 里面也可以写 Javascript,如以下示例:

 <script>    console.log('Hello World');script>

(以后肯定会讲到 JavaScript,它可是重头戏!)

现在我们从head里面出来了,body 里面只有两个元素。注释不用管它,就一个p元素。它的全名是 paragraph,也就是段落的意思。它就像 Word 里面的段落,单纯显示文字的。把上述代码打出来,在游览器打开,就可以看到如下效果:

840c986507025395f8c26670d674b795.png


学废警告!非战斗人员请撤离!

你可能会奇怪为什么 script 的标签和 link 标签 。

其实网站可以想象成一个文件夹,网址 URL 的格式可以这样总结:

c3d3a5d3c084a38721468077c88bb232.png

hostname 就是平时说到的域名,path 就是文件路径。关于这张图以后会详细讲解。

大部分网站,没有指定路径时,默认是根目录下的 index.html 文件。这里根目录是服务器所服务的 ”文件夹“ 的根目录。

题外话,这个 ”文件夹“ 为什么打引号?因为它不一定是真正意义上的文件夹,可以是经过服务器处理后返回的文件,而这个路径只是传给服务器的参数。但是这并不妨碍我们当它是一个文件夹。

假设这个文件夹叫 www ,输入它的网址就得到 index.html。

 > www|> js|   |   index.js||index.html|style.css

js 是一个文件夹,它底下有一个 index.js 。因此 script 标签的 src 属性 js/index.js 就是指向这个文件夹。而 ./style.css 则是指向与 index.html 同目录的 style.css 文件。这个 . 就代表当前目录,而 /代表去到接下来的路径。为什么js/index.js没有 ./开头?其实带不带 ./ 都是一样的,也就是说 style.css 也是 link 的合法 href 属性。

当 html 被解析后,它可以被看成一棵树。树是一种计算机数据结构,其实也很像平时看到的树。这里就不展开了。树是有层级概念的,这个概念在接下来理解 CSS 和 JS 用处很大。请看一下例子(head 部分省略掉了,直接看 body里面的内容):

 <body>    <div class="title">Logindiv>    <form action="login" id="login-form">        <div class="field">            <label for="username">User: label>            <input type="text" name="username">        div>        <div class="field">            <label for="password">Password: label>            <input type="text" name="password">        div>        <button type="submit">Loginbutton>    form>body>

这是一个很简单的登录界面,有很多值得探讨的。假设这颗”树“ 的根节点是 body,那 body节点就有两个子节点:divform。其中 div 的 class 是 title,有时这个 div可以被写成 div.titleform 有个 id 属性 login-form。它可以被写成 form#login-form。所以 # 后面跟的是 id,而 . 后面跟的是 class。是不是很简单?

form#login-formdiv.title是兄弟节点。div.fieldform#login-form的子节点。input[type="text"]form#login-form的孙子节点,是div.field的子节点。没错,可以通过tag[attr="value"]的方式得到某属性 attr 值为 value 的元素。这部分在 CSS 选择器章节将详细描述。

说了这么多,咱们来看一下上面代码的效果吧:

5e22fef076d2929a77df3a05e8dc955c.png

是不是很简单?接下来的几篇文章将一步步地完善这个登陆界面,不仅漂亮,还好用哦!敬请期待!(咕咕咕)建议自己做一遍哦。在公众号后台回复 html可以获取源代码压缩包,并且许多其它扩展阅读资源!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值