js之获取元素(获取DOM节点),定义变量

一、.获取 DOM 节点

  • element.getElementById
  • element.getElementByName
  • element.getElementsByTagName
  • element.getElementsByClassName
  • element.querySelector
  • element.querySelectorAll

1.element.getElementById   

通过id获取元素

通过id获取到的元素是唯一的,id的名字是不能重复的

(element.getElementById 是指去 element 节点下根据 id 查找子节点。

通常在程序开始前,没有主动去获取过节点,这个时候会使用根节点 document 来进行查找)

 var box1 = document.getElementById('box1'); 

2.H5中新增加的 querySelector

(文档对象模型 Document 引用的 querySelector () 方法返回文档中与指定选择器或选择器组匹配的第一个 html 元素 Element 。 如果找不到匹配项,则返回 null 。)

querySelector只能获取页面中的第一个元素,括号中可以使用选择器

通俗理解:就是样式中的选择器怎么写,括号中就怎么写

/*   var box2 = document.querySelector('div');
var p = document.querySelector('p');

console.log(box2);
console.log(p); */


var box2 = document.querySelector('.box1>a');
var p = document.querySelector('p');

console.log(box2);
console.log(p);

 上述的两种元素的获取方式,只能获取一个元素,注意两者之间的区别

3.H5中新增加的querySelectorAll

(返回与指定的选择器组匹配的文档中的元素列表 (使用深度优先的先序遍历文档的节点)。返回的对象是 NodeList 。)

querySelectorAll是获取多个元素,形成一个数组

var box2 = document.querySelectorAll('.box1 a');
console.log(box2);

4、通过class获取元素element.getElementsByClassName

(返回一个包含了所有指定类名的子元素的类数组对象。)

class获取元素也是获取到多个,形成一个数组

var box1 = document.getElementsByClassName('box1')
console.log(box1);

5.通过标签名获取元素

(返回带有指定标签名的对象集合。)

标签名获取元素也是获取到多个,形成一个数组

var box2 = document.getElementsByTagName('div')
console.log(box2);

总结:

1、id只能获取到一个,就有唯一性

2、querySelector只能获取到页面中首次出现的元素,可以使用选择器,比如类名要加点

3、querySelectorAll能获取到页面中的多个元素,可以使用选择器,比如类名要加点

4、getElementsByClassName能获取到页面中的多个元素,比如类名不加点

5、getElementsByTagName能获取到页面中的多个元素,比如类名不加点

 6. element.getElementByName

返回带有指定名称的对象集合。

<form>
  <div>
    <label>
      <input type="checkbox" name="skill" checked="checked" value="JavaScript"> JavaScript
    </label>

    <label>
      <input type="checkbox" name="skill" value="c++"> C++
    </label>

    <label>
      <input type="checkbox" name="skill" checked="checked" value="Java"> Java
    </label>
  </div>
</form>
<div id="result"></div>

<script>
  var checkboxes = document.getElementsByName('skill');

  var skills = [];

  checkboxes.forEach(function(checkbox) {
    if (checkbox.getAttribute('checked')) {
      skills.push(checkbox.value);
    }
  });

document.getElementById('result').innerHTML = '选中的技能:' + skills.join('、');
</script>

7、获取后代元素

// 获取后代元素
var box1 = document.querySelectorAll('div a') 

// className
var box2 = document.getElementsByClassName('box1')[0]
var a = box2.getElementsByClassName('a')

// tagName
var box3 = document.getElementsByTagName('div')[0]
var a1 = box3.getElementsByTagName('a');
console.log(box1, box2, box3);
console.log(a1);

二、变量

变量就是存储值的一个容器

/* 
a就把 10 这个值 存储到 变量 a 中 
使用 10 ,就可以使用 变量 a 来代替 10
*/
var a = 10;
console.log(a * 2);

变量命名的规则:

  • 变量名必须是字母、下划线、$开头
  • 变量名必须是字母、下划线、$、数字组成
  • 遵循驼峰命名法
  • 要有语义化
  • 不能使用关键字个保留字
var a = 10 
var _a = 20
var $a = 30 
var num2 = 90
console.log(a, _a, $a);

// 驼峰命名 -- 变量名由两个单词或者两个以上的单词构成,从第二个单词开始,首字母要大写
// 语义化
var userName = 'zahngsan'
var passWord = '123456'; 
console.log(userName, passWord);

// 不能使用关键字和保留字(现在不是关键字 将来会成为关键字的字)
var var = 90  // 错误 
var id = 80 // id是关键字 
var class = 100 // class是保留字

变量的使用注意事项:

1、变量声明必须使用var关键字

/* 
没有使用var关键字,是一个全局变量(在任何位置都可以使用)
注意:虽然是可以使用的,但是是不符合程序的设计标注的
不管这个变量参不参与计算,都会占用内存,会造成内存浪费,严重的会造成内存溢出
*/

a = 10;  
console.log(a);

2、变量必须先声明后使用

console.log(a * 2); // undefined 没有值   --- NaN
var a = 10;  

3.变量名不能重复(在这节课中)

后面的会覆盖前面的,导致值丢失

var a = 10; 
var a = 20; 
console.log(a); // 20

4、变量的声明方式

  • 一次性声明一个变量并赋值
  • 一次性声明多个变量,并同时赋值,每个变量之间使用逗号隔开
  • 一次性声明多个变量,并分开赋值
// - 一次性声明一个变量并赋值
var a = 10;
// - 一次性声明多个变量,并同时赋值,每个变量之间使用逗号隔开
var a = 10, b = 20, c= 30;
// - 一次性声明多个变量,并分开赋值
var num1, num2,num3;
num1 = 90
num2 = 100;
num3 = 200

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 uni-app 中获取 DOM 元素的方法有以下几种: 1. 使用 uni.createSelectorQuery() 函数,该函数可以帮助你在页面中查询节点信息,并返回节点对象。例如: ``` const query = uni.createSelectorQuery().select('#elementId'); query.fields({ size: true, rect: true }, (res) => { console.log(res.width, res.height); }); query.exec(); ``` 2. 在 Vue 组件中使用 $refs,例如: ``` <template> <view ref="elementId"></view> </template> <script> export default { methods: { getElement() { console.log(this.$refs.elementId); } } } </script> ``` 3. 使用 JavaScript DOM API,例如: ``` const element = document.getElementById('elementId'); console.log(element); ``` 选择哪种方法取决于你的需求和开发习惯。 ### 回答2: 在UniApp中获取DOM元素可以通过以下几种方式: 1. 使用原生小程序的API:由于UniApp底层是基于原生小程序开发的,因此你可以直接使用原生小程序提供的API来获取DOM元素。例如,可以使用`wx.createSelectorQuery().select('#id').boundingClientRect()`来获取指定id的DOM元素。 2. 使用vue的ref属性:UniApp支持使用vue的ref属性来引用DOM元素。在模板中,可以给DOM元素添加`ref`属性,并指定一个名称,如`ref="myElement"`;然后在<script>标签中,可以通过`this.$refs.myElement`来获取DOM元素。 3. 使用页面选择器:UniApp提供了一些选择器函数来获取DOM元素,例如`uni.createSelectorQuery()`和`uni.createIntersectionObserver()`等。可以使用这些选择器函数通过类名、标签名、ID等来获取DOM元素。 4. 使用组件的事件:如果你想要获取某个组件内的DOM元素,可以使用组件的事件来传递DOM元素给父组件,然后在父组件中获取。 总结:获取UniApp中的DOM元素可以通过原生小程序的API、vue的ref属性、页面选择器和组件事件来实现。根据具体需求选择合适的方式来获取DOM元素。 ### 回答3: 在uni-app中获取DOM元素可以使用多种方法。 1. 使用v-if和v-else指令:v-if和v-else指令用于条件渲染DOM元素。我们可以结合这两个指令来根据条件显示或隐藏DOM元素。例如: ``` <view v-if="isShow">这是一个DOM元素</view> <view v-else>这是另一个DOM元素</view> ``` 在data中定义isShow变量,根据isShow的值来决定显示哪个DOM元素。 2. 使用v-show指令:v-show指令也用于条件渲染DOM元素,但是与v-if不同的是,v-show是通过CSS样式来控制元素的显示和隐藏,隐藏的元素仍然存在于DOM中。例如: ``` <view v-show="isShow">这是一个DOM元素</view> ``` 在data中定义isShow变量,根据isShow的值来决定显示或隐藏DOM元素。 3. 使用ref属性:在模板中给DOM元素添加ref属性,在Vue组件中可以通过$refs来访问DOM元素。例如: ``` <view ref="domElement">这是一个DOM元素</view> ``` 在Vue组件的方法中可以通过this.$refs.domElement来访问DOM元素。 通过以上方法,我们可以在uni-app中获取和操作DOM元素
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值