求一个JS输出问题。我想写一个JS代码 希望放在网站中可以输出数据结果。
比如,我网站中多处有代码:<DIV>abc</DIV> 希望放一个JS代码,就可以把网站中所有的<DIV>abc</DIV>代码变成XYZ
我是新手不要对我说怎么做,我不会写JS代码,请直接把所有的JS代码写出来给我! 我复制了拿去套用.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script>
function replaceStr() {
var oldStr = document.getElementById('o').value;
var newStr = document.getElementById('v').value;
if (newStr.length > 0) {
var allStr = document.getElementsByTagName('div');
for (var i = 0; i < allStr.length; i++) {
allStr[i].innerHTML = allStr[i].innerHTML.replace(oldStr, newStr);
}
}
}
</script>
</head>
<body>
<div>abc</div>
<div>abc</div>
<div>abc</div>
<div>abc</div>
<div>abc</div>
<div>abc</div>
<div>abc</div>
<div>abc</div>
è¦å¯»æ¾çå符<input id="o" type="text">
æ°çæ¿æ¢å符<input id="v" type="text">
<input type="button" onClick="replaceStr();" value="æ¿æ¢">
</body>
</html>
å®é
æµè¯è¿ï¼ä¸éè¦ä»»ä½å¤é¨jsåºï¼æä¸æå追é®~
ä½ è¿åçä»ä¹åï¼æ ¹æ¬ä¸è½ç¨ï¼æçé®é¢ä½ é½æ²¡ææï¼ææ¯è¦æ¿æ¢ä»£ç ï¼æ¯å¦æçç½ç«ä¸æabc è¿ç»ä»£ç ï¼å¦æå¨ä¸å JSçæ
åµä¸ï¼æå¼ç½ç«çå°çç»æè¯å®æ¯abc
æå¸æçæ¯å¦æå äºJS代ç ï¼abcè½åæxyz æå¼ç½ç«çå°çæ¯xyz
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script>
window.onload = function(){
var allStr = document.getElementsByTagName('div');
for (var i = 0; i < allStr.length; i++) {
allStr[i].innerHTML = allStr[i].innerHTML.replace('abc', 'xyz');
}
}
</script>
</head>
<body>
<div>abc</div>
<div>abc</div>
<div>abc</div>
<div>abc</div>
<div>abc</div>
<div>abc</div>
<div>abc</div>
<div>abc</div>
</body>
</html>
æææ¯ææçabcå¨é¡µé¢å è½½å®æåé½åæäºxyzï¼æ¯è¿æ ·ä¹ï¼
æç¨ä½ çJSå¥ç¨äºä¸ã为ä»ä¹æçè¿æ ·ååï¼æ æ³è¾åºxyz 请ææï¼ï¼æè¦è½æ¿æ¢ä»£ç çJSï¼
<script type="text/javascript" src=""></script>
$(function(){
$("div").each(function(i){
if($(this).text()=="abc")
{
$(this).text("XYZ");
}
});
});
那么定位可以用 classname 可以用ID,如果比较多的话建议用classname但这就让I6不兼容了。其次如果你这个标签 只有一个比如说 <i>你也可以用 taggame
只要定位好了剩下的就简单了,for循环,改innerHTML就可以了。追问
我是新手不要对我说怎么做,我不会写JS代码,请直接把所有的JS代码写出来给我! 我复制了拿去套用.
追答你的abc改成xyz是举例还是实际上就是改着3个字母?
追问是举例子呀。JS套用了下。为什么我的这样子写,无法输出xyz 请指教!帮我修改:我要能替换代码的JS
首先你没加载JQ
你别以为 JQ那个看着简单,其实代码并不简单,反而理解起来很复杂。只是看起来简洁,不要以为他简单就用JQ的方法。
其实这个东西思路很简单,但问题我刚才说过了,你必须要定位。
我再反复强调一次请你仔细看完。
如果你只是举例的话,如果不是确实想把abc换成xyz的话,那么我们肯定写不出一套东西来帮你解决这个问题。
因为js是要定位的,我反复强调定位。就是你要有一个ID=“xxx”或者classname=“xxx”我们得确实的知道你要替换的东西他在哪。才能替换。
当然我们可以把页面整个循环一遍,但那样效率很低,另外就是你不可能只替换abc为xyz我相信肯定有 bdf替换成 wuv。那样就又得写一个程序。你还是用不了。
所以你应该先把具体替换什么列个表。在把这些标签所在的位置,定一个规则。比如他的classname是相同的,或者他的标签是相同的。这样JS写起来非常简洁,效率又高
我具体的就是要把网站中所有的替换为未填
追答把
替换成为
未填
是么
如果楼主只是想让<DIV>内部的改变的话,不如索性直接赋值innerHTML,代码如下:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script>
window.onload = function(){
var allStr = document.getElementsByTagName('div');
for (var i = 0; i < allStr.length; i++) {
allStr[i].innerHTML = 'xyz';
}
}
</script>
</head>
<body>
<div></font></span></div>
<div></font></span></div>
<div></font></span></div>
<div></font></span></div>
<div></font></span></div>
<div></font></span></div>
<div></font></span></div>
<div></font></span></div>
</body>
</html>追问
这写的不对呀。这样子写,所有都变成xyz了。。我要的只是变成xyz (我要替换的是有一组代码)
追答
window.onload = function(){
var allStr = document.getElementsByTagName('div');
for (var i = 0; i ')
allStr[i].innerHTML = 'xyz';
}
}
那试试这个
var divs = documnet.getElementsByTagName('div'); // get all divs
for (i in divs) {
if (divs[i].innerHTML == 'abc') {
divs[i].innerHTML = 'xyz';
}
}
}