首页 > 解决方案 > 带有异常的 Javascript substr

问题描述

我寻求帮助。我可以连接像 Test1 和 Test2 这样的 var url 吗?也许与或||?这样我就可以不用其他许多 if 代码了吗?

<p id="demo">Test1</p>

<script>
var urls1 = 'Test1';
var urls2 = 'Test2';
var urls3 = 'Test3';


if (document.getElementById('demo').textContent == urls1)
{
    document.getElementById("demo").textContent = "Ihrer Region"; 
} 

else if (document.getElementById('demo').textContent == urls2)
{
    document.getElementById("demo").textContent = "Ihrer Region"; 
}

else if (document.getElementById('demo').textContent == urls3)
{
    document.getElementById("demo").textContent = "Ihrer Region"; 
}

else

{
var str1 = document.getElementById("demo").textContent;  
var str2 = str1.substr(0, str1.length-2);
            document.getElementById("demo").textContent = str2;    
}

</script>

标签: javascript

解决方案


问题不只是ifand elses。你的代码是如此重复,不要重复代码!

另外,不要创建带有数字后缀的 vars urls1urls2... 只是一个 URL 列表(或者更好的说法是一个数组)。

如果您要document.getElementById('demo').textContent多次使用,请将其存储在一个变量中。

阅读官方文档,这样你就可以知道你可以使用的所有方法。

听起来更好?

var urls = ['Test1', 'Test2', 'Test3'];
var demo = document.getElementById('demo').textContent;

demo = urls.includes(demo) ? "Ihrer Region" : demo.substr(0, demo.length - 2);

推荐阅读