后端es传到前端的多条字符串数据包含span标签,前端循环让该span标签背景高亮
时间: 2023-11-28 07:04:46 浏览: 252
可以使用一些前端框架或者库来实现这个功能,比如React、Vue等。
如果使用React,可以使用dangerouslySetInnerHTML属性将后端传来的字符串渲染到页面上,然后使用CSS样式来为span标签设置背景高亮。具体的实现步骤如下:
1. 在React组件中定义一个state,用来保存后端传来的字符串数据。
```
import React, { useState } from 'react';
function App() {
const [data, setData] = useState('');
// 这里可以使用fetch或者axios等工具从后端获取数据
// 然后将获取到的数据设置到state中
return (
<div dangerouslySetInnerHTML={{ __html: data }}></div>
);
}
export default App;
```
2. 在CSS样式表中定义一个span标签的样式,设置背景颜色为高亮色。
```
span.highlight {
background-color: yellow;
}
```
3. 使用JavaScript遍历渲染后端传来的字符串,为其中的span标签添加highlight类名。
```
import React, { useState, useEffect } from 'react';
function App() {
const [data, setData] = useState('');
useEffect(() => {
// 这里可以使用fetch或者axios等工具从后端获取数据
// 然后将获取到的数据设置到state中
// 这里使用静态数据来模拟后端传来的字符串
const str = '<div><span>hello</span><span>world</span></div>';
setData(str);
}, []);
useEffect(() => {
const div = document.createElement('div');
div.innerHTML = data;
const spans = div.getElementsByTagName('span');
for (let i = 0; i < spans.length; i++) {
spans[i].classList.add('highlight');
}
setData(div.innerHTML);
}, [data]);
return (
<div dangerouslySetInnerHTML={{ __html: data }}></div>
);
}
export default App;
```
这样就可以实现将后端传来的多条字符串数据包含span标签,循环让该span标签背景高亮的功能了。
阅读全文