Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用哪种技术将任意字符串从模板引擎传递到JavaScript(或者为什么不使用伪HTML属性)_Javascript_Jquery_Django_Jsp - Fatal编程技术网

使用哪种技术将任意字符串从模板引擎传递到JavaScript(或者为什么不使用伪HTML属性)

使用哪种技术将任意字符串从模板引擎传递到JavaScript(或者为什么不使用伪HTML属性),javascript,jquery,django,jsp,Javascript,Jquery,Django,Jsp,没有咕哝哪一个模板引擎用于我的问题 我参与了在JSP页面中找到此类代码的项目: <li class="clazz" attr="XXX">...</li> 以及从attr属性中提取值的jQuery代码: $(".clazz").click(function () { var v = $(this).attr("attr"); ... } $(“.clazz”)。单击(函数(){ var v=$(this.attr(“attr”); ... } 实际上XXX是URL。我将

没有咕哝哪一个模板引擎用于我的问题

我参与了在JSP页面中找到此类代码的项目:

<li class="clazz" attr="XXX">...</li>
  • 以及从attr属性中提取值的jQuery代码:

    $(".clazz").click(function () { var v = $(this).attr("attr"); ... } $(“.clazz”)。单击(函数(){ var v=$(this.attr(“attr”); ... } 实际上XXX是URL。我将JSP代码更改为:

    <li class="clazz"><a href="XXX">...</a></li>
  • 和JS代码,以:

    $(".clazz").click(function () { var v = $(this).find("a").attr("href"); ... } $(“.clazz”)。单击(函数(){ var v=$(this.find(“a”).attr(“href”); ... } 现在我达到了拥有有效HTML的目标

    使用假标记可以简化代码,但会生成无效的HTML

    有没有简单的方法将数据传递给JavaScript并保持代码的简单性

    使用哪种技术将任意字符串从模板引擎传递到JavaScript

    我假设这些数据不应该呈现给用户,也不应该像隐藏数据那样基于CSS:

    <span id="real-points-count" style="display:none">${param} ${param} 更新。此代码如何:

    <div class="clazz" min="MINDATA" max="MAXDATA">...<> <div class=“clazz”min=“MINDATA”max=“MAXDATA”>。。。
    可以通过转换将MINDATA和MAXDATA传输到JavaScript,从而获得有效的HTML5

    如果可以使用HTML5,则可以使用
    数据-*
    属性,该属性可以让您添加自定义属性来存储HTML元素的数据

    e、 g


    参考资料:,

    如果您可以使用HTML5,您可以使用
    数据-*
    属性,它可以让您添加自定义属性来存储HTML元素的数据

    e、 g


    参考资料:,

    为什么不尝试一下本地javascript
    onclick

    看看这个

    <li class="clazz" onclick="myFunction('my_url')">...</li>
    
  • 然后编写这个函数,它接受您的URL作为输入..即

    <script type="text/javascript">
    function myFunction(inUrl) {
        ....
    };
    </script>
    
    
    函数myFunction(inUrl){
    ....
    };
    
    通过这种方式,您可以维护有效的HTML并避免伪标记

    注意:您可以将任意数量的参数传递给函数,甚至是元素本身


    希望这有帮助。

    为什么不试试原生javascript
    onclick

    看看这个

    <li class="clazz" onclick="myFunction('my_url')">...</li>
    
  • 然后编写这个函数,它接受您的URL作为输入..即

    <script type="text/javascript">
    function myFunction(inUrl) {
        ....
    };
    </script>
    
    
    函数myFunction(inUrl){
    ....
    };
    
    通过这种方式,您可以维护有效的HTML并避免伪标记

    注意:您可以将任意数量的参数传递给函数,甚至是元素本身


    希望这能有所帮助。

    正是我想要的!+1和接受。参考规范正是我想要的!+1和接受。使用这种方法参考规范,你并不真正需要html5支持。因为它是简单的本机javascript,它适用于所有浏览器。使用这种方法,你并不真正需要html5支持。因为它是简单的本机javascript,它适用于所有浏览器wsers。