基本Javascript如果不起作用
Basic Javascript If not working
我制作了一个基本的javascript if
语句,但它似乎不起作用。它不替换Span"框"中的文本,但不替换if语句。
这是我的代码:
function show() {
var span1 = document.getElementById("box").innerHTML;
if (span1 == 'asdf') {
document.getElementById("box").innerHTML = 'test';
}
}
<span id = 'link'>
<a onclick = 'show()' href = 'javascript:void(0);'>Show</a>
</span>
<span id = 'box'>
asdf
</span>
有什么建议吗?
您正在测试的字符串包含一些空白(即空格、换行符、制表符)以及所需的字符串。
比较时可以删除不必要的空白字符:
if (span1.replace(/'s/g, '') === 'asdf') {
注意:使用正则表达式时当然要小心。例如,上面的条件也会传递给像"as-df"这样的字符串。所以你可能想在这方面有所改进。
另一种解决方案是使用String.prototype.indexOf()
:
if (span1.indexOf('asdf') >= 0) {
您也可以将String.prototype.match()
与适当的正则表达式一起使用:
if (span1.match(/asdf/)) {
编辑:此外,如果IE8兼容性不是你关心的问题,如@ungalcrys所建议的,你可以考虑使用String.prototype.trim()
。
旁注:考虑使用.textContent
而不是.innerHTML
。有关更多信息,请参阅此MDN页面。
这是因为innerHtml在span1
变量的开始和结束处包含2个新行字符
之后
var span1 = document.getElementById("box").innerHTML;
尝试添加:
alert('|' + span1 + '|');
你就会明白我在说什么。
您可以使用span1.trim()
来删除JS中该字符串前后的空白。
相关文章:
- Javascript,如果条件在没有&&逻辑运算符当&&它不起作用
- $(select).selectmenu('打开')不'如果使用ajax加载页面,则不起作用
- 未捕获的类型错误:无法设置属性'innerHTML'如果为null,则将脚本移动到正文不会;不起作用
- Javascript变量到PHP变量-如果语句不起作用,则发布
- 如果语句不起作用,请单击
- 我需要帮助弄清楚为什么;如果'声明不起作用
- 如果(condition&condition)没有'不起作用,
- 如果文本框为空,则不起作用
- 如果在include文件中使用连接,Jquery ajax调用将不起作用
- 这'否则如果'这种情况不起作用
- 如果iframe在src(pdf或text)中有非html文档,则iframe中的onload不起作用
- 如果.htaccess文件中只写了一行代码,那么我所有的css和js都不起作用,如何修复它
- 如果视图中没有Jquery脚本引用,Unobtrusive Javascript Validation是不起作用的
- 如果条件在代码点火器的模型中不起作用
- 如果语句不起作用 - JavaScript
- 如果端口范围太宽,节点中的端口扫描不起作用
- 如果 onclick 和 onselect 中的语句在 ASP.NET 不起作用
- 如果图像具有 guid 作为名称,则 jqZoom 不起作用
- 如果应用程序托管在IIS上,则Javascript window.location.htm不起作用
- 如果存在event.preventDefault函数,则ajaxForm不起作用