原生js 查找 添加 删除 指定元素的class

50 篇文章 0 订阅
34 篇文章 0 订阅
window.onload = function(){
	var gaga = document.getElementById( "gaga" );
	addClass( gaga,"gaga1" ) 
	addClass( gaga,"gaxx" );
	removeClass( gaga,"gaga1" )
	removeClass( gaga,"gaga" )
	function hasClass( elements,cName ){
		return !!elements.className.match( new RegExp( "(\\s|^)" + cName + "(\\s|$)") );           // ( \\s|^ ) 判断前面是否有空格  (\\s | $ )判断后面是否有空格  两个感叹号为转换为布尔值 以方便做判断
	};
	function addClass( elements,cName ){
		if( !hasClass( elements,cName ) ){
			elements.className += " " + cName;
		};
	};
	function removeClass( elements,cName ){
		if( hasClass( elements,cName ) ){
			elements.className = elements.className.replace( new RegExp( "(\\s|^)" + cName + "(\\s|$)" )," " );  // replace方法是替换
		};
	};
};

要实现前端页面的搜索功能,可以使用以下步骤: 1. 获取页面上的所有需要搜索的内容,可以是文本、链接、图片等等。 2. 创建一个搜索框,用于用户输入搜索关键词。 3. 监听搜索框的输入事件,获取用户输入的关键词。 4. 遍历页面的所有需要搜索的内容,使用JavaScript的正则表达式匹配用户输入的关键词。 5. 如果找到匹配的内容,则将其高亮显示,或者在一个结果列表中显示。 下面是一个简单的示例代码: HTML部分: ```html <input type="text" id="searchBox" placeholder="请输入搜索关键词"> <div id="searchResult"></div> <div> <p>这是一段要搜索的文本</p> <a href="#">这是一个链接</a> <img src="image.jpg" alt="这是一张图片"> </div> ``` JavaScript部分: ```javascript // 获取需要搜索的内容 const content = document.querySelectorAll('p, a, img'); // 监听搜索框的输入事件 const searchBox = document.getElementById('searchBox'); searchBox.addEventListener('input', () => { // 获取用户输入的关键词 const keyword = searchBox.value; // 遍历所有需要搜索的内容 content.forEach(item => { // 使用正则表达式匹配关键词 const regex = new RegExp(keyword, 'gi'); const match = item.textContent.match(regex); // 如果找到匹配的内容,则高亮显示 if (match) { const highlighted = item.textContent.replace(regex, '<span class="highlight">$&</span>'); item.innerHTML = highlighted; } }); // 在结果列表中显示匹配的内容 const searchResult = document.getElementById('searchResult'); searchResult.innerHTML = ''; content.forEach(item => { if (item.textContent.includes(keyword)) { const resultItem = document.createElement('div'); resultItem.textContent = item.textContent; searchResult.appendChild(resultItem); } }); }); ``` CSS部分: ```css .highlight { background-color: yellow; } ``` 当用户输入关键词时,JavaScript会遍历页面上的所有需要搜索的内容,匹配关键词并高亮显示匹配的内容。同时,还会在结果列表中显示匹配的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值