经过前面的学习,我们知道v-on可以实现事件绑定,v-model可以实现双向数据绑定。在Vue中除了这两个指令,还有一个v-bind指令。它可以往元素的属性中绑定数据,也可以动态地根据数据为元素绑定不同的样式。简单说,v-bind是用来绑定HTML属性

JavaScript给HTML标签指定属性

HTML不同的标签具有不同的属性。我们在写标签的时候一般会根据不同的标签指定不同的属性,比如img标签,我们会指定srcalt属性。

<img src="../images/logo.png" alt="w3cplus" />

但我们很多时候需要动态的给HTML标签动态指定属性的值。比如,我们这个imgsrcalt是动态数据data(也就是服务端传过来的)。我们需要借助JavaScript来实现。在JavaScript中,我们有三个方法用来控制元素的属性:

  • Element.getAttribute():获取元素上一个指定的属性值。如果指定的属性不存在,则返回null""(空字符串)
  • Element.setAttribute():指定元素上的一个属性值。如果属性已经存在,则更新该值;否则将添加一个新的属性用指定的名称和值
  • Element.removeAttribute():从指定的元素中删除一个属性

同样拿img标签的srcalt来举例。比如我们有一个默认的图片元素:

 1 <div class="wrapper">
 2     <img src="//www.w3cplus.com/sites/default/files/blogs/2017/1709/meinv-1.jpg" alt="美女与野獸">
 3 </div>
 4 <div class="action">
 5     <button id="btn">美女与野獸</button>
 6 </div>
 7 
 8 // JavaScript
 9 let data = {
10     imgInfo: {
11         imgUrl: '//www.w3cplus.com/sites/default/files/blogs/2017/1709/yuesou.jpg',
12         alt: '野獸'
13     }
14 }
15 
16 const imgEle = document.querySelector('.figure')
17 const btn = document.getElementById('btn')
18 
19 btn.addEventListener('click', () => {
20     imgEle.setAttribute('src', data.imgInfo.imgUrl)
21     imgEle.setAttribute('alt', data.imgInfo.alt)  
22 }, false)
View Code

相关文章:

  • 2022-01-25
  • 2020-09-25
  • 2022-12-23
  • 2021-09-04
  • 2021-09-17
  • 2022-12-23
  • 2021-04-28
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-06-07
  • 2022-12-23
  • 2020-10-24
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案