获取javascript更改文本为字符串

时间:2014-03-04 18:29:05

标签: javascript string get find indexof

我想知道是否有可能将JavaScript更改的文本作为字符串。

例如,您有一个包含文字Hello, World的网站,并且您使用JavaScript将文本更改为New Text!。现在是否可以将更改后的文本转换为String。

我想查找使用JavaScript更改的文本,例如搜索功能(ctrl + f),但它不适用于此类代码:

  if(document.body.textContent.indexOf("New Text") !== -1){
     return true; 
  }else{
     return true; 
  }

由于我可以使用indexOf()函数来搜索字符串,我想也许我可以将更改的文本以某种方式作为字符串。

我感谢任何帮助! 谢谢!

1 个答案:

答案 0 :(得分:0)

使用jquery下面的代码可能很有用。
小心它不是线程安全的。 为了使线程安全,您可以使用数组,添加更改的元素,并使用索引器处理元素,在处理更改的元素结束时可以递增。因此,索引器并不总是指向最后一个元素(这只是一个想法)。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
    <script language="javascript" type="text/jscript">

        // set the function OnChanged for the change event
        $('*').change(OnChanged); 
        // global var
        var previousText = '';


        function doSomeChange(idElement) {
            // Save the prev text. Be careful global var is not the best way to do it
            // When another process could access it the correct value could have been changed
            previousText = $(idElement).text();
            // chage the text
            $(idElement).text('this text is changed using javascript');
            // raise event change
            $(idElement).change();
        }

        //this function will be called when change event of any element will be raised
        function OnChanged() {
            alert('Text changed, text was ' + previousText);
        }  

    </script>
    <title></title>
</head>
<body>
    <p id="TestP">Hello, this is dummy text
        <a href="javascript:doSomeChange('#TestP')">Do change</a></p>
</body>
</html>