通过单击超链接切换文本
toggle text by clicking on hyperlink
我需要在 html 中切换文本 on/Off 而不隐藏任何禁用的功能。下面的代码可以切换 on
和 off
但问题是:
- 它不能在不隐藏另一个词的情况下切换。 IE。当我按下打开时,它隐藏了关闭功能。
- 当我为另一个订单项添加切换方法时,它只会切换第一个订单项。因此,如果我将它添加到原始项目后五行的订单项中,它只会触发原始项目。
function toggle() {
var ele = document.getElementById("toggleText");
var text = document.getElementById("displayText");
if (ele.style.display == "block") {
ele.style.display = "none";
text.innerHTML = "On";
} else {
ele.style.display = "block";
text.innerHTML = "Turn Off";
}
}
<h1>Services</h1>
<h2>Subscribed Services</h2>
<ul>
<li>Geolocation -<a id="displayText" href="javascript:toggle();">On</a>
<div id="toggleText" style="display: none"></div>
</li>
<li>E-Mail Messaging -<a id="displayText" href="javascript:toggle();">On</a>
<div id="toggleText" style="display: none"></div>
</li>
</ul>
我做错了什么?
首先对您的代码进行一些注释:
ID 必须是 unique!因此,请改用 类。
希望我能正确理解您要实现的目标:
HTML:
<h2>Subscribed Services</h2>
<ul>
<li>Geolocation -<a class="displayText" href="javascript:void(0);">On</a>
</li>
<li>E-Mail Messaging -<a class="displayText" href="javascript:void(0);">On</a>
</li>
</ul>
JS
$('.displayText').on('click', function(e) {
$(this).text(function(i, s) {
return s === 'On' ? 'Off' : 'On';
});
});
参考:
我需要在 html 中切换文本 on/Off 而不隐藏任何禁用的功能。下面的代码可以切换 on
和 off
但问题是:
- 它不能在不隐藏另一个词的情况下切换。 IE。当我按下打开时,它隐藏了关闭功能。
- 当我为另一个订单项添加切换方法时,它只会切换第一个订单项。因此,如果我将它添加到原始项目后五行的订单项中,它只会触发原始项目。
function toggle() {
var ele = document.getElementById("toggleText");
var text = document.getElementById("displayText");
if (ele.style.display == "block") {
ele.style.display = "none";
text.innerHTML = "On";
} else {
ele.style.display = "block";
text.innerHTML = "Turn Off";
}
}
<h1>Services</h1>
<h2>Subscribed Services</h2>
<ul>
<li>Geolocation -<a id="displayText" href="javascript:toggle();">On</a>
<div id="toggleText" style="display: none"></div>
</li>
<li>E-Mail Messaging -<a id="displayText" href="javascript:toggle();">On</a>
<div id="toggleText" style="display: none"></div>
</li>
</ul>
我做错了什么?
首先对您的代码进行一些注释:
ID 必须是 unique!因此,请改用 类。
希望我能正确理解您要实现的目标:
HTML:
<h2>Subscribed Services</h2>
<ul>
<li>Geolocation -<a class="displayText" href="javascript:void(0);">On</a>
</li>
<li>E-Mail Messaging -<a class="displayText" href="javascript:void(0);">On</a>
</li>
</ul>
JS
$('.displayText').on('click', function(e) {
$(this).text(function(i, s) {
return s === 'On' ? 'Off' : 'On';
});
});
参考: