0

我对_hyperscript js 很感兴趣,我觉得它很有前途和有趣。

现在我试图理解变量在简单命令中的使用。假设我有以下由 PHP 脚本生成的代码,该脚本查询了一个 dB,并且从哪里获得了该 dB(一个非常常见的情况):

<div id="1000">Mercedes</div>
<div id="1022">Audi</div>
<div id="1301">Ferrari</div>
<div id="1106">Lamborghini</div>

要将类添加到特定的id我通常会这样做:

<button _="on click add .green to #1022" type="button">
    Click
</button>

但是如果我不知道,id因为它是 dB 查询的结果怎么办?如何使用_hyperscript放置变量并使用 javascript 设置它?像这样的东西:

<button _="on click call setID() then add .green to ???" type="button">
    Click
</button>

<script type="text/javascript">
    function setID() {
        // here the code to get the ID 
        return id;
    }
</script>

使用'符号'it读取最后call返回错误的结果:

_="on click call setID() then add .green to it"

返回

Uncaught TypeError: target.classList is undefined
4

1 回答 1

1

您可以在查询文字中使用字符串模板,所以这样的事情应该可以工作:

<button _="on click add .green to <#${getIdToAddTo()}/>" type="button">
    Click
</button>

其中 the<.../>是查询文字,而 the 是该查询${getIdToAddTo()}中的字符串模板

另一种选择是创建一个返回要添加到的 div 的方法:

<script>
  function divToAddTo() {
    return document.getElementById("whatever");
  }
</script>
<button _="on click add .green to divToAddTo()" type="button">
    Click
</button>

于 2021-04-01T13:11:20.963 回答