【问题标题】:pass parameter to href将参数传递给href
【发布时间】:2021-02-05 08:54:12
【问题描述】:

我需要根据列表中的名字将参数传递给 href,该名称是我通过 _id 获得的另一个页面的链接,该页面通过 url 传递。

问题是 id 没有传递给 url,我得到一个错误

如何将数据传递给 url?

我的代码:

<script>
    const getuser = () => {
        pers.forEach(per => {
            if (document.getElementById("link") == per.FirstName) {
                document.getElementById("link").setAttribute("href","/persons/"+per._id);
            }
        })
    }

</script>

<body>
    <h1>Persons</h1>
    <ul>
        <% pers.forEach(function(per) { %>

            <li>
                <a  id="link" onclick="getuser()">
                    <%= per.FirstName %>
                </a>
            </li>

            <% }) %>

    </ul>

【问题讨论】:

标签: javascript html node.js express


【解决方案1】:

这个

if (document.getElementById("link") == per.FirstName) {

永远不会评估为真。您将对 HTML 元素的引用与(我认为)字符串 FirstName 进行比较。

当您在服务器端呈现页面时,我无法理解您为什么要尝试在 javascript 中执行此操作。只需构建 HTML 内联

<ul>
    <% pers.forEach(function(per) { %>
        <li>
            <a href="/persons/<%= per.Id%>">
                <%= per.FirstName %>
            </a>
        </li>
    <% }) %>
</ul>

注意:从您的元素中删除 Id,因为 id 应该是唯一的,并且您正在循环渲染!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-14
    • 1970-01-01
    • 2012-03-19
    • 2021-05-03
    • 1970-01-01
    • 1970-01-01
    • 2019-09-27
    相关资源
    最近更新 更多