当前位置: 首页 > news >正文

广州 日本 设计网站做网站的公司哪家最好

广州 日本 设计网站,做网站的公司哪家最好,如何 做网站,任何判断网站SEO做的好坏自从HTML的创建和第一个网站的诞生以来,开发人员和设计师就尝试自定义其页面的外观。 这种需求变得如此重要,以至于创建了一个称为CSS的标准来正确管理样式并将其与内容分开。 在当今高度互动的网站中,您通常需要添加,删除或切换类…

自从HTML的创建和第一个网站的诞生以来,开发人员和设计师就尝试自定义其页面的外观。 这种需求变得如此重要,以至于创建了一个称为CSS的标准来正确管理样式并将其与内容分开。 在当今高度互动的网站中,您通常需要添加,删除或切换类名称(通常称为“ CSS类”)。 从历史上看,处理JavaScript中的这些更改有些复杂,因为没有内置的方法可以执行这些操作。 在HTML5引入classList API之前就是这种情况。 在本文中,我们将发现此API的工作方式及其提供的方法。

注意:术语“ CSS类”通常用于指代类名。 这些是您放入元素的class属性中的字符串。 但是,有一篇有趣的文章建议该术语不正确,您应该避免使用它。 为了简洁起见,在本文中,我将使用术语“类”作为“类名”的快捷方式。

什么是classList API?

classList API提供了管理DOM元素的类名称的方法和属性。 使用它,我们可以执行诸如添加和删除类或检查元素上是否存在给定类的操作。 班级列表API通过DOM元件,称为的属性公开这些方法和属性classList 。 此属性的类型为DOMTokenList ,并且包含以下方法和属性:

  • add(class1, class2, ...) :将一个或多个类添加到元素的类列表中。
  • contains(class) :如果类列表包含给定参数,则返回true否则返回false
  • item(index) :返回位置index处的类;如果数字大于或等于列表的长度,则返回null 。 索引从零开始,这意味着第一类名称的索引为0。
  • length :这是一个只读属性,它返回列表中的类数。
  • remove(class1, class2, ...) :从元素的类列表中删除一个或多个类。
  • toString() :以字符串形式返回元素的类列表。
  • toggle(class[, force]) :从类列表中删除给定的类,并返回false 。 如果该类不存在,则将其添加,并且该函数返回true 。 如果提供了第二个参数,它将根据其真实性强制添加或删除该类。 例如,将此值设置为true会导致添加类,而不管其是否已经存在。 通过将此值设置为false ,将删除该类。

如果您熟悉jQuery,则可能会认为add()remove()方法通过传递以空格分隔的类名列表(例如add("red bold bigger") )对多个类执行相同的操作。 。 不是这种情况。 要一次添加或删除更多的类,您必须为每个类传递一个字符串(例如add("red", "bold", "bigger") )。 正如我所指出的那样, toggle()方法具有一个可选参数,我们可以使用该参数来强制执行给定的操作。 换句话说,如果toggle()的第二个参数为false ,则它用作remove()方法; 如果第二个参数为true ,则它用作add()方法。

现在,我们已经描述了此API的方法和属性,下面让我们来看一下它的一些示例。 假定页面上存在以下HTML元素,下面显示的每个代码示例都将执行一个操作。

<span id="element" class="description"></span>

新增课程

要将类名“ red”添加到元素的class属性,我们可以编写以下内容:

document.getElementById('element').classList.add('red');
// class="description red"

要添加多个类,例如“ red”和“ bold”,我们可以这样编写:

document.getElementById('element').classList.add('red', 'bold');
// class="description red bold"

请注意,如果提供的类之一已经存在,则不会再次添加。

删除课程

要删除一个类,例如“ description”,我们将编写以下内容:

document.getElementById('element').classList.remove('description');
// class=""

要一次删除多个类,我们编写:

document.getElementById('element').classList.remove('description', 'red');
// class=""

请注意,如果不存在提供的命名类之一,则不会引发错误。

切换课程

有时我们需要根据用户交互或站点状态添加或删除类名称。 这是使用toggle()方法完成的,如下所示。

document.getElementById('element').classList.toggle('description');
// class=""document.getElementById('element').classList.toggle('description');
// class="description"

检索课程

classList API提供了一种根据类名在类列表中的位置来检索类名的方法。 假设我们要检索元素的第一和第三类。 我们将编写以下内容:

document.getElementById('element').classList.item(0);
// returns "description"document.getElementById('element').classList.item(2);
// returns null

检索类数

尽管不是很常见,但在某些情况下,我们可能需要知道应用于给定元素的类的数量。 classList API允许我们通过length属性检索此数字,如下所示:

console.log(document.getElementById('element').classList.length);
// prints 1

确定是否存在类

有时我们可能想根据某个类的存在执行给定的动作。 为了执行测试,我们以以下方式使用contains()方法:

if (document.getElementById('element').classList.contains('description')) {// do something...
} else {// do something different...
}

以字符串形式返回类列表

要以字符串形式返回类列表,我们可以使用toString()方法,如下所示。

console.log(document.getElementById('element').classList.toString());
// prints "description"document.getElementById('element').classList.add('red', 'bold');
console.log(document.getElementById('element').classList.toString());
// prints "description red bold"

浏览器兼容性

除Internet Explorer外,桌面和移动浏览器都广泛支持classList API。 IE从版本10开始就开始支持此API。更具体地说,您可以在Chrome 8 +,Firefox 3.6 +,Internet Explorer 10 +,Safari 5.1+和Opera 11.5+中使用此API。 正如我们已经看到的,classList API非常简单,并且您可能猜到,对其进行填充并不困难。 创建自己的polyfill应该很简单,但是如果您想要某些已经存在的东西,可以使用Eli Grey的classList.js 。

演示版

本部分提供了一个简单的演示,使您可以尝试本文中介绍的概念。 演示页面包含两个基本字段:一个select元素,包含API公开的方法和属性,以及一个文本框,我们可以在其中编写要传递的参数。 如您所见,该演示程序并未显式调用方法,而是使用了一个简单的技巧(使用JavaScript apply()方法),从而减少了代码行。 由于某些浏览器不支持该API,我们将执行检查,如果失败,则显示消息“不支持API”。 如果浏览器确实支持classList API,我们将为按钮的click事件附加一个侦听器,以便一旦单击该按钮,便会执行所选的方法。

此处提供了代码的实时演示。

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>ClassList API Demo</title><style>body{max-width: 500px;margin: 2em auto;font-size: 20px;}h1{text-align: center;}.hidden{display: none;}.field-wrapper{margin-top: 1em;}#log{height: 200px;width: 100%;overflow-y: scroll;border: 1px solid #333333;line-height: 1.3em;}.button-demo{padding: 0.5em;margin: 1em;}.author{display: block;margin-top: 1em;}</style></head><body><h1>ClassList API</h1><h3>Live sample element</h3><div id="showcase">&lt;span id="play-element" class="description"&gt;&lt;/span&gt;</div><h3>Play area</h3><div><div class="field-wrapper"><label for="method">Methods and Properties:</label><select id="method"><option value="add">add()</option><option value="contains">contains()</option><option value="item">item()</option><option value="length">length</option><option value="remove">remove()</option><option value="toString">toString()</option><option value="toggle">toggle()</option></select></div><div class="field-wrapper"><label for="parameter">Parameters (use spaces for multiple parameters):</label><input type="text" id="parameter"></input></div><button id="execute" class="button-demo">Execute</button></div><span id="d-unsupported" class="hidden">API not supported</span><h3>Log</h3><div id="log"></div><button id="clear-log" class="button-demo">Clear log</button><span id="play-element" class="description"></span><script>if (!'classList' in document.createElement('span')) {document.getElementById('c-unsupported').classList.remove('hidden');document.getElementById('execute').setAttribute('disabled', 'disabled');} else {var playElement = document.getElementById('play-element');var method = document.getElementById('method');var parameter = document.getElementById('parameter');var log = document.getElementById('log');var showcase = document.getElementById('showcase');document.getElementById('clear-log').addEventListener('click', function() {log.innerHTML = '';});document.getElementById('execute').addEventListener('click', function() {var message = method.value;if (method.value === 'length') {message += ': ' + playElement.classList[method.value]} else {var result = playElement.classList[method.value].apply(playElement.classList, parameter.value.split(' '));showcase.textContent = playElement.outerHTML;if (method.value === 'add' || method.value === 'remove' || method.value === 'toggle') {message += ' class "' + parameter.value + '"';} else {message += ': ' + result;}}log.innerHTML = message + '<br />' + log.innerHTML;});}</script></body>
</html>

结论

在本文中,我们了解了classList API,其方法及其属性。 如我们所见,该API帮助我们管理分配给给定元素的类-而且非常容易使用。 该API在台式机和移动浏览器中得到广泛支持,因此我们可以安全地使用它(必要时在polyfill的帮助下)。 最后一点,请不要忘了演示该示例,以更好地了解此API及其功能。

From: https://www.sitepoint.com/exploring-classlist-api/

http://www.lbrq.cn/news/2530477.html

相关文章:

  • 做期货看啥子网站关键词优化排名软件s
  • 团队网站怎么做谷歌搜索引擎
  • 少儿编程十大培训机构seo入门培训课程
  • 南京网站建设公司哪家好百度一下就知道了官网榡
  • 网站设置主页在哪里手机建站
  • 电子商务企业网站的推广方式成都计算机培训机构排名前十
  • 海外域名注册网站网站查询工具seo
  • 怎么查看网站有没有做推广竞价恶意点击犯法吗
  • 安监局网站建设软文写作什么意思
  • 建设一个网站需要哪些推广方案策划
  • 商城网站建设平台手机百度收录提交入口
  • 南阳做网站优化哪家好黄冈seo顾问
  • 产品网站用什么软件做清远新闻最新
  • 宁波北京网站建设百度推广是做什么的
  • 建网站都要什么费用上海百度公司总部
  • 湘潭做网站价格找磐石网络一流百度竞价推广登陆
  • 数据库2008做企业网站优化网站软文
  • 做网站赌博代理的犯法么模板免费下载网站
  • 网上做兼职网站公司网站怎么弄
  • 只做美食类目产品的网站关键词搜索热度
  • 只做汽车的网站社群推广平台
  • 沈阳网站建设公司千锋教育培训机构怎么样
  • 优酷网站怎么做的怎么让网站被百度收录
  • 做简单的网站首页一个自己的网站
  • 专业做家居的网站有哪些网络营销的六大功能
  • 做网站投诉要钱吗网络营销的成功案例分析
  • ps网站设计怎么做域名注册查询
  • 腾讯云服务器搭建网站产品网络推广的方法有哪些
  • 做网站的人怎么联系怎么注册自己的网址
  • 做装修网站推荐客户靠谱吗如何提升关键词的自然排名
  • 实时语音流分段识别技术解析:基于WebRTC VAD的智能分割策略
  • wxPython 实践(五)高级控件
  • 专业鼠标点击器,自定义间隔次数
  • 【力扣热题100】哈希——字母异位词分组
  • MySQL的单行函数:
  • 【C#】DevExpress.XtraEditors.MemoEdit memoEditLog控件讲解