我有200个html文件,在这里我们必须隐藏电话号码,直到单击文本为止,因此我需要使用GrepWin之类的工具来更改所有文件的内容。我可以使用这段代码来做到这一点,但是问题是,对于同一页面中具有相同内容的所有位置,都需要更改函数名称和ID。因此,此行在同一文件中多次出现:
<p>
<b>Contact data:
<script>
function myFunction() {
document.getElementById("demo").innerHTML = "0316 301 958";} .
</script>
<button id="demo" onclick="myFunction()">Show the number</button>
<p>
<b>Contact data:
<script>
function myFunction() {
document.getElementById("demo").innerHTML = "0316 301 958";} .
</script>
<button id="demo" onclick="myFunction()">Show the number
</button>
我需要不同的解决方案来更改所有html文件上的所有内容,但要显示数字(所有数字都相同)。此时仅显示一个数字http://jsfiddle.net/qyzkfush/。我可以手动编辑函数名称和按钮ID,但是要更改200个文件内容(每个文件中有很多位置)需要花费一些时间。我需要使用GrepWin搜索代码并将其替换为所有文件。
答案 0 :(得分:2)
如果确实需要,可以运行以下命令:-
function myFunction(e, phoneNumber) {
e.innerText = phoneNumber;
}
<p><b>Contact data:
<button id="demo" onclick="myFunction(this, '0316 301 958')">Show the number</button>
<p><b>Contact data:
<button id="demo" onclick="myFunction(this, '0316 301 957')">Show the number</button>
我只会将其用作快速解决方案,我会与客户谈谈使内容动态化的问题。
答案 1 :(得分:0)
一些指针:
p
或span
(请参阅Which HTML tags can be used with onClick?)尝试一下:
<p onclick="showPhoneNumber(this)">Click to see phone number.</p>
这会将事件侦听器添加到p
元素,它将使用showPhoneNumber
元素作为参数调用函数p
(this
将包含触发事件监听器的元素浏览器评估onclick
参数中的短脚本时发生的事件。
该函数将如下所示:
<script>
function showPhoneNumber(elem) {
elem.innerHtml = '0316 301 958';
return false;
}
</script>
这也应该可以,但是从HTML来源中抓取电话号码变得很简单:
<p onlick="this.innerHtml = '0316 301 958'; return false;">Click to see phone number.</p>
我相信这是将数字隐藏在单击后的主要原因(=阻止脚本查找它)。
答案 2 :(得分:0)
您可以使用电话号码作为班级名称:
SELECT t.* FROM YourTable t WHERE t.status = 10
AND
(SELECT COUNT(0) x From YourTable t2
where t2.sourceid = t.sourceid) = 1
function myFunction(className) {
[...document.getElementsByClassName(className)].forEach(element => element.innerHTML = className);
}