首页 > 其他分享 >无涯教程-Dart - HTML DOM

无涯教程-Dart - HTML DOM

时间:2023-11-13 17:34:25浏览次数:37  
标签:DOM DemoWebApp 无涯 html dart HTML 文档 querySelector

文档对象代表该窗口中显示的HTML文档, Document对象具有引用其他对象的各种属性,这些属性允许访问和修改文档内容。

文档内容的访问和修改方式称为文档对象模型或 DOM ,对象按层次结构组织,此层次结构适用于Web文档中对象的组织。

  • Window      - 层次结构的顶部,它是对象层次结构的最外层元素。

  • Document  - 每个加载到窗口中的HTML文档都成为一个文档对象,该文档包含页面的内容。

  • Elements    - 表示网页上的内容,示例包括文本框,页面标题等。

  • Nodes         - 通常是元素,但它们也可以是属性,文本,注释和其他DOM类型。

这是一些重要的DOM对象的简单层次结构-

HTML DOM

Dart提供了 dart:html 库来处理DOM中的对象和元素,基于控制台的应用程序不能使用 dart:html 库,要在Web应用程序中使用HTML库,请导入 dart:html -

import 'dart:html';

接下来,我们将在下一部分中讨论 DOM操作。

查找DOM元素

dart:html 库提供了 querySelector 函数来搜索DOM中的元素。

Element querySelector(String selectors);

querySelector()函数返回与指定选择器组匹配的第一个元素。 选择器应该是使用CSSselector语法的字符串,如下所示

var element1=document.querySelector('.className'); 
var element2=document.querySelector('#id'); 

操纵DOM

在Webstorm IDE中执行以下步骤-

步骤1 - File NewProject→Location,提供项目名称为 DemoWebApp 。

Demowebapp

步骤2   -  在"Generate sample content"部分中,选择 SimpleWebApplication 。

Create

它将创建一个示例项目 DemoWebApp ,有一个 pubspec.yaml 文件,其中包含需要下载的依赖项。

name: 'DemoWebApp' 
version: 0.0.1 
description: An absolute bare-bones web app. 

#author: Your Name <[email protected]> 
#homepage: https://www.learnfk.com  
environment:   
   sdk: '>=1.0.0 <2.0.0'  
dependencies:   
   browser: '>=0.10.0 <0.11.0'   dart_to_js_script_rewriter: '^1.0.1'  
transformers: 
- dart_to_js_script_rewriter 

Index.html

<!DOCTYPE html>   
<html> 
   <head>     
      <meta charset="utf-8">     
      <meta http-equiv="X-UA-Compatible" content="IE=edge">     
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta name="scaffolded-by" content="https://github.com/google/stagehand">
      <title>DemoWebApp</title>     
      <link rel="stylesheet" href="styles.css">     
      <script defer src="main.dart" type="application/dart"></script>
      <script defer src="packages/browser/dart.js"></script> 
   </head>
   
   <body>   
      <h1>
         <div id="output"></div> 
      </h1>  
   </body> 
</html> 

Main.dart

import 'dart:html';  
void main() {   
   querySelector('#output').text='Your Dart web dom app is running!!!.'; 
} 

运行 index.html 文件,您将在屏幕上看到以下输出。

Demo Web App

事件处理

dart:html 库为DOM Elements提供了 onClick 事件。语法显示元素如何处理点击事件流。

querySelector('#Id').onClick.listen(eventHanlderFunction); 

querySelector()函数从给定的DOM返回元素,并且 onClick.listen()将采用 eventHandler 方法,当点击事件引发, eventHandler 的语法如下:

void eventHanlderFunction (MouseEvent event){ } 

TestEvent.html

<!DOCTYPE html> 
<html> 
   <head> 
      <meta charset="utf-8"> 
      <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
      <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
      <meta name="scaffolded-by" content ="https://github.com/google/stagehand"> 
      <title>DemoWebApp</title> 
      <link rel="stylesheet" href="styles.css"> 
      <script defer src="TestEvent.dart" type="application/dart"></script> 
      <script defer src="packages/browser/dart.js"></script> 
   </head> 
   
   <body> 
      <div id="output"></div> 
      <h1> 
         <div> 
            Enter you name : <input type="text" id="txtName"> 
            <input type="button" id="btnWish" value="Wish"> 
         </div> 
      </h1> 
      <h2 id="display"></h2> 
   </body>
   
</html>

TestEvent.dart

import 'dart:html'; 
void main() { 
   querySelector('#btnWish').onClick.listen(wishHandler); 
}  
void wishHandler(MouseEvent event){ 
   String name=(querySelector('#txtName')  as InputElement).value; 
   querySelector('#display').text='Hello Mr.'+ name; 
}

输出

输出

参考链接

https://www.learnfk.com/dart-programming/dart-programming-html-dom.html

标签:DOM,DemoWebApp,无涯,html,dart,HTML,文档,querySelector
From: https://blog.51cto.com/u_14033984/8347019

相关文章

  • 无涯教程-Dart - Typedef
    typedef或function-typealise(函数类型别名)有助于定义指向内存中可执行代码的指针。简而言之,typedef可用作引用函数的指针。以下是在Dart程序中实现typedefs的步骤。第1步  - 定义typedeftypedef可用于指定我们希望特定函数匹配的函数,函数由函数的参数(包括......
  • 无涯教程-Dart - 调试(Debug)
    开发人员时不时地在编码时犯错误,程序中的错误称为错误,查找和修复错误的过程称为调试,并且是开发过程中的正常部分,本节介绍可帮助您完成调试任务的工具和技术。添加断点考虑以下代码片段。(TestString.dart)voidmain(){inta=10,b=20,c=5;c=c*c*c;p......
  • String.fromCharCode 函数如何在 html 输入字段中用于移动键盘
    String.fromCharCode函数用于将Unicode编码转换为对应的字符。在HTML输入字段中,您可以使用JavaScript和String.fromCharCode函数来移动键盘。以下是一个简单的示例:首先,创建一个HTML文件,包含一个输入框和一个按钮:<!DOCTYPEhtml><htmllang="en"><head><metacharse......
  • 传递参数或查询字符串给_Layout.cshtml中的顶部导航在ASP.NET中的实现方式
    在ASP.NET中,你可以通过多种方式将参数或查询字符串传递给_Layout.cshtml中的顶部导航。以下是两种常见的方法:1.使用ViewBag:ViewBag是ASP.NETMVC框架中的一个特性,它允许你在视图和控制器之间传递数据。你可以在控制器中设置ViewBag的值,然后在_Layout.cshtml中使用这些值。示例代码......
  • 如何将视频上传到可用于HTML5 <video> 标签的 'src' 属性的平台?
    要将视频上传到可用于HTML5<video>标签的'src'属性的平台,您需要遵循以下步骤:1.选择一个支持视频上传的平台,例如YouTube、Vimeo或自建服务器。2.注册并登录到所选平台。3.创建一个新的视频项目或上传您的视频文件。4.获取视频的嵌入代码或URL。这通常可以在平台的管理页......
  • 无涯教程-Dart - 包(Package)
    包Packages是一种封装机制,每种语言都有一种管理外部程序包的机制,如Java的Maven或Gradle,.NET的Nuget,Node.js的npm等,Dart的程序包管理器是pub 包元数据在文件pubsec.yaml中定义,YAML是另一种标签语言的缩写,pub工具可用于下载应用程序所需的所有各种库。每个Dart应用程序都......
  • HTML02(定位,浮动)
    标签独占一行的标签叫块级标签;可以在一行上展示的标签叫做内联标签;块级标签和内联标签可以切换,通过控制标签的显示方式。display:inline;将元素设置为内联元素;display:block;将元素设置为块级元素;设置容器垂直居中显示:line-height等于容器的高度.文本居......
  • 无涯教程-Dart - Unicode
    字符串是字符序列,Dart将字符串表示为UnicodeUTF-16代码单元的序列。dart:core库中的String类提供了访问runes的机制,字符串的三种方式访问形式​​-使用String.codeUnitAt()函数使用String.codeUnits属性使用String.runes属性String.codeUnitAt()函数通过其索引进行访......
  • 无涯教程-Dart - Symbol(符号)
    Symbol是一种用于存储人类可读字符串和经过优化以供计算机使用的字符串之间的关系的方法。Symbolobj=newSymbol('name');name必须是有效的公共Dart成员名称,公共构造函数名称或库名称。考虑以下示例,该代码在库foo_lib中声明了一个Foo类,该类定义方法m1,m2,和m3。libra......
  • 无涯教程-Dart - Map(映射)
    Map对象是一个简单的键/值对,Map中的键和值可以是任何类型,Map是动态集合,换句话说,Map可以在运行时增长和收缩。您需要将键/值对(key/value)放在大括号"{}"中,这是它的语法-varidentifier={key1:value1,key2:value2[,…..,key_n:value_n]}构造函数声明Map的语法如下-var......