我想知道是否有可能将JavaScript更改的文本作为字符串。
例如,您有一个包含文字Hello, World
的网站,并且您使用JavaScript将文本更改为New Text!
。现在是否可以将更改后的文本转换为String。
我想查找使用JavaScript更改的文本,例如搜索功能(ctrl + f),但它不适用于此类代码:
if(document.body.textContent.indexOf("New Text") !== -1){
return true;
}else{
return true;
}
由于我可以使用indexOf()
函数来搜索字符串,我想也许我可以将更改的文本以某种方式作为字符串。
我感谢任何帮助! 谢谢!
答案 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>