首页 新闻 会员 周边

js 如何实现标签内字符替换?

0
悬赏园豆:50 [待解决问题]

如何将div标签下所有标签内的Col2 批量替换掉?如下例子:

现如今使用这个语句会把div下包括其他标签全部给替换掉 ,现想保留,大佬们有没有好的方法?

this.wrap.select('td.grid-hc[dataindex=col2] div').update(prompt);
js
当个胖子的主页 当个胖子 | 初学一级 | 园豆:145
提问于:2022-09-06 10:54

这个问题解决了吗? 没有我帮写一下码

lf03 1年前

@lf03: 我换了其他方式实现功能 但是 问题没解决

当个胖子 1年前

@当个胖子: 那我写一下 然后你再拿去试

lf03 1年前

@lf03: ok

当个胖子 1年前

@当个胖子: 可以了 你试一下

lf03 1年前
< >
分享
所有回答(3)
1

通过JQ获取元素的html,再通过replace全部替换掉字符串里的Col2,最后再使用html重新赋值试试~
//获取html
var html=$("选择器").html()
//replace替换html里的字符,注意使用/g批量替换
//设置html
$("选择器").html(替换后的html)

顾星河 | 园豆:7173 (大侠五级) | 2022-09-06 11:08

还有/i不区分大小写

支持(0) 反对(0) 你风致 | 园豆:2213 (老鸟四级) | 2022-09-08 14:28
1

正则/col2/ig

你风致 | 园豆:2213 (老鸟四级) | 2022-09-08 14:27
0

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<div>
<span class="prompt-required result_ds" title="col2">*</span>
"Col2"
</div>
<script type="text/javascript">
var divs = document.getElementsByTagName("div");//获取所有div的元素
var prompt = "abc";//需要替换的内容
for (var i = 0; i < divs.length; i++) {
divs[i].innerHTML = divs[i].innerHTML.replace("col2", prompt).replace("Col2", prompt);
}
</script>
</body>
</html>

lf03 | 园豆:502 (小虾三级) | 2022-09-08 15:24

这个获取的元素太多了,替换了全局内其他部分的数据, ,需要按原本的那样更精确一些,没有固定id,如图可以使用dataindex="col2",不知道能不能实现。反正就是div 里面 的描述给替换成想要的文字,但是有的时候div里面会多两个span标签,按我自己的原本方法会把span标签的样式也替换没,不满足需求

支持(0) 反对(0) 当个胖子 | 园豆:145 (初学一级) | 2022-09-08 15:45

@当个胖子: 现在的问题是:1.获取到的div元素太多,2.不在div元素里的不被替换对吗

支持(0) 反对(0) lf03 | 园豆:502 (小虾三级) | 2022-09-08 15:51

@lf03: 对 这里展示的只是页面的冰山一角,最好能精确定位到当前div 把里面所有的col2 都替换了

支持(0) 反对(0) 当个胖子 | 园豆:145 (初学一级) | 2022-09-08 15:52

@当个胖子: 元素属性值为col2的元素属性名称都有哪些比如dateindex属性的值有可能是col2 不然很难做到精确定位

支持(0) 反对(0) lf03 | 园豆:502 (小虾三级) | 2022-09-08 17:01

@lf03: 可以这么理解 同一个表格 table 里面 dataindex=col2 是唯一的 ,就比如我提供的语句 这样就能找到那个div

this.wrap.select('td.grid-hc[dataindex=col2] div').update(prompt);
支持(0) 反对(0) 当个胖子 | 园豆:145 (初学一级) | 2022-09-08 17:08

@当个胖子: 其他的地方也是这样的结构吗

支持(0) 反对(0) lf03 | 园豆:502 (小虾三级) | 2022-09-08 17:10

@lf03: 嗯 可能会有多个table

支持(0) 反对(0) 当个胖子 | 园豆:145 (初学一级) | 2022-09-08 17:11

@当个胖子:
每个div的父元素都有dataindex='col2'这属性吗

支持(0) 反对(0) lf03 | 园豆:502 (小虾三级) | 2022-09-08 17:18

@lf03:可以理解为有, dataindex= 的值 可以动态拼出来 ,col2 只是其中一个 。

支持(0) 反对(0) 当个胖子 | 园豆:145 (初学一级) | 2022-09-08 17:22

@当个胖子:
var prompt = "abc";//需要替换的内容
var tds = $("[dataindex='col2']");//获取属性所有dataindex属性值为'col2'的元素
for (var i = 0; i < tds.length; i++) {
tds[i].innerHTML = tds[i].innerHTML.replace(/col2/g, prompt).replace(/Col2/g, prompt);
tds[i].setAttribute("dataindex", prompt);
}

支持(0) 反对(0) lf03 | 园豆:502 (小虾三级) | 2022-09-08 17:37

需要引入jquery

支持(0) 反对(0) lf03 | 园豆:502 (小虾三级) | 2022-09-08 17:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册