改变文本虚假和真实的javascripts

时间:2013-11-09 06:41:36

标签: javascript text replace greasemonkey

text将“false”替换为“true”

来自html的ori(不要改变):

<td  align="center">false</td>

<td  align="center">true</td>

我的js代码错误:

document.body.innerHTML = document.body.innerHTML.replace(/<td  align=\"center\">false<\/td>/g,"<td  align=\"center\">true<\/td>");

http://jsfiddle.net/PKM6U/

3 个答案:

答案 0 :(得分:1)

由于您是新手,我建议您使用框架/库让事情变得更容易

jQuery有一个很好的选择器,可以帮助你完成这个

http://jquery.com/ http://jquery.com/download/ http://api.jquery.com/contains-selector/

此代码将执行您想要的操作

function swapTrueFalse(){
    if($("td[align=center]:contains('true')"){
        $("td[align=center]:contains('true')").text('false')
    }else if($("td[align=center]:contains('false')"){
        $("td[align=center]:contains('false')").text('true')
    }
}

我建议您在元素中添加一个类,但这样可以提高效率:

<td  align="center" class='true-false'>true</td>

更改代码以匹配:

function swapTrueFalse(){
    var t = $(".true-false").text()
    if(t === "true"){
        $(".true-false").text("false");
    }else{
        $(".true-false").text("true");
    }
}

使用正则表达式以您的方式解析HTML是非常低效的,所以我建议反对它。

答案 1 :(得分:0)

<td  align="center" id="changeme">false</td>

在js

document.getElementById("changeme").text="true"

答案 2 :(得分:0)

如果用“span”替换所有“td”,则工作正常。拥有td节点本身并没有多大意义,看起来好像它们在小提琴运行后完全消失。