dom给元素添加多个clasname,dom获取属性名的值

问题一:我们后期如果需要给一个节点新增加一个calssname,如何进行操作呢?

var dom = document.getElementById("dom")
dom.className = 'classname1 classname2'

在类名之间加个空格即可。

如果类名需要动态添加如何修改?

只需要使用新语法``即可

var clasname = 'classname3'
var dom = document.getElementById("dom")
dom.className = `classname1 classname2 ${clasname}`

问题二:如何获取节点上的属性值呢?

场景

我们需要使用父节点的事件委托的时候

<ul id='parent'>
	<li>1</li>
	<li>2</li>
	<li>3</li>
	<li>4</li>
</ul>
<script>
	var dom = document.getElementById('parent')
	dom.addEventListion('click',e=>{
		let target = e.target
		console.log(target)
	})
</script>

当我们点击到lI标签的时候输出的是<li>1</li>
我们可以通过判断innerHtml内容,也可以判断节点的标签名nodeName
我这里比较推荐在节点绑定一个clickType属性,这样能够实现更多的功能。

<ul id='parent'>
	<li clickType='1'>1</li>
	<li clickType='2'>2</li>
	<li clickType='3'>3</li>
	<li clickType='4'>4</li>
</ul>
<script>
	var dom = document.getElementById('parent')
	dom.addEventListion('click',e=>{
		let target = e.target
		let clickType = target.getAttribute('clickType')
		if(clickType==''){
		// 业务逻辑
		}
	})
</script>

注意 不能使用 e.target.atrribute.clickType
因为e.target.atrribute是一个node对象,不可以这样获取

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值