在html文件中将变量值搜索为ID

时间:2017-09-21 14:50:32

标签: javascript html

我想请求您帮助建立一个使用以下javascript的网站:

<html>
<head>
...
</head>
<body>
...
<script>
    $(document).ready(function(){
        var pathArray = window.location.pathname.split( '/' );
        var secondLevelLocation = pathArray[0];
        var newPathname = "";
    for (i = 0; i < pathArray.length; i++) {
      newPathname += "";
      newPathname += pathArray[i];
    }   

    var str = "asd fgh roof_material"; 
    var res = str.match(newPathname);

        if (res) {
        document.getElementById("demo").innerHTML =  res;
        } else {
            document.getElementById("demo").innerHTML =  "Basic text";
        }
    });
</script>

<div id="demo"></div>

</body>
</html>

例如我的网址是:https://www.mywebsite.com/roof_material

我在变量(newPathname)中得到一个字符串,其中包含/符号后面的文本,在本例中为:roof_material

问题是:

我想在文本中找到此变量的值,如果您可以找到它,那么您可以将其发布到网站上。如果我将文本放在脚本中的变量中,它就可以工作了:

var str = "asd fgh roof_material";

但是我想在一个单独的html文件中找到这个变量(newPathname)的值,如果可能的话: newPathname 值,例如:roof_material

在分隔的.html文件内容中:

<div id="protection_material">Line-X material</div>
<div id="roof_material">Roof materials</div>
<div id="pool_material">Swimming pools</div>

在这个例子中,我想在.html文件中找到roof_material ID并获取div的内容:“Roof materials”,我想在页面上显示这个文本:

<div id="demo">Roof materials</div>

如果它具有正匹配然后在其他情况下显示div的内容,它将打印基本文本,如示例中所示:“基本文本”

有人可以帮助实现吗?

1 个答案:

答案 0 :(得分:0)

@Terry谢谢你的回答! 我想我找到了一个更简单的解决方案,但它并不完美:

<script>
    $(document).ready(function(){
        var pathArray = window.location.href.split('=')[1];
        var secondLevelLocation = pathArray[0];
        var newPathname = "";
    for (i = 0; i < pathArray.length; i++) {
      newPathname += "";
      newPathname += pathArray[i];
    }           
      document.getElementById("demo").innerHTML =  newPathname;     
    });
</script>
<div id="demo">Országosan</div>

如果我在浏览器中键入它,例如:https://www.mywebsite.com/index,那么#demo div中显示的文字是:“Országosan” 这很好,但如果我输入如下:https://www.mywebsite.com/index?id=Cserkeszőlő 然后结果很好,但字符编码不能正常工作。 #demo div中的结果: Cserkesz%C5%91l%C5%91 ,但我想显示正确的编码文本,如下所示:Cserkeszőlő

你能给我一个解决方案吗?