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 使用非法字符设置DIV ID name_Javascript_Php_Html - Fatal编程技术网

Javascript 使用非法字符设置DIV ID name

Javascript 使用非法字符设置DIV ID name,javascript,php,html,Javascript,Php,Html,不幸的是,我需要通过ID.DIV ID=“dir/dir2/file.txt”转发包含非法字符的文件路径。即使base64也不会给出解决方案。如何修复此问题?您可以通过在id属性中不使用非法字符来修复此问题。该属性用于标识,而不是传递数据。如果需要在DOM for JavaScript中存储与元素相关的数据,例如可以使用data-*属性,如中所述。或者将它们放在脚本块中的有用数据结构中,这样您就可以直接访问它。您可以通过在id属性中不使用非法字符来解决此问题。该属性用于标识,而不是传递数据。如果

不幸的是,我需要通过ID.DIV ID=“dir/dir2/file.txt”转发包含非法字符的文件路径。即使base64也不会给出解决方案。如何修复此问题?

您可以通过在
id
属性中不使用非法字符来修复此问题。该属性用于标识,而不是传递数据。如果需要在DOM for JavaScript中存储与元素相关的数据,例如可以使用
data-*
属性,如中所述。或者将它们放在
脚本
块中的有用数据结构中,这样您就可以直接访问它。

您可以通过在
id
属性中不使用非法字符来解决此问题。该属性用于标识,而不是传递数据。如果需要在DOM for JavaScript中存储与元素相关的数据,例如可以使用
data-*
属性,如中所述。或者干脆将它们放在
脚本
块中的有用数据结构中,这样您就可以直接访问它。

帮助您解决根本问题(导致需要这些ID)可能比帮助您在ID中编码文件路径更简单、更好。如果你解释一下潜在问题的背景,也许可以找到解决方法

话虽如此,您的问题的答案可能是:

  • 它无法修复,因为您需要ID中不允许的字符

  • 或者。。。考虑一些非常荒谬的替换方案,将特殊路径字符转换为有效的ID字符。您可以将ID中的冒号字符用作转义字符,以指示后面是unicode数字。要了解我的目标:

  • D:\directory something\w俎írddir\file.txt

    会变成类似于这个ID的东西:

    D:2233目录:4455sometry:2233w:8877:0099rdir:2233file.txt

    其中,
    :2233
    应该是反斜杠等的实际数字。此外,由于必须以ID中的字母开头(路径中不一定是这样),因此可以按照惯例始终以某个字母开头(在服务器端再次解析ID时忽略该字符)

    注意:我绝对不推荐这种解决方案(!!),但如果能找到解决方案,那似乎很有趣:D


    PS.也应该看看这一点。

    帮助您解决潜在问题(导致需要这些ID)可能比帮助您在ID中编码文件路径更容易、更好。如果你解释一下潜在问题的背景,也许可以找到解决方法

    话虽如此,您的问题的答案可能是:

  • 它无法修复,因为您需要ID中不允许的字符

  • 或者。。。考虑一些非常荒谬的替换方案,将特殊路径字符转换为有效的ID字符。您可以将ID中的冒号字符用作转义字符,以指示后面是unicode数字。要了解我的目标:

  • D:\directory something\w俎írddir\file.txt

    会变成类似于这个ID的东西:

    D:2233目录:4455sometry:2233w:8877:0099rdir:2233file.txt

    其中,
    :2233
    应该是反斜杠等的实际数字。此外,由于必须以ID中的字母开头(路径中不一定是这样),因此可以按照惯例始终以某个字母开头(在服务器端再次解析ID时忽略该字符)

    注意:我绝对不推荐这种解决方案(!!),但如果能找到解决方案,那似乎很有趣:D


    另外,您还应该看看这一点。

    您遇到了哪些错误?你试过什么?服务器只是删除那些字符OK。。。现在,什么服务器?阿帕奇?IIS?什么是CMS?最有可能的是,帮助您消除对此类ID的需求比帮助您编码您似乎需要的ID更容易。如果你解释一些有助于解决潜在问题的背景知识,你会发现哪些错误?你试过什么?服务器只是删除那些字符OK。。。现在,什么服务器?阿帕奇?IIS?什么是CMS?最有可能的是,帮助您消除对此类ID的需求比帮助您编码您似乎需要的ID更容易。如果您解释一些有助于解决根本问题的背景知识。@AshBurlaczenko很公平,尽管这些属性仍然受支持。我在没有遵循HTML5的情况下添加了一个替代方法。@Ash-
    data-*
    属性即使在HTML5之前的浏览器中也应该有效,至少对于最常见的浏览器是如此。它当然适用于旧版IE,而旧版IE很可能是仍在使用的旧浏览器。@Ash:。HTML5不是一回事,它被设计成尽可能向后兼容。您可以将它的许多部分放到现有页面中,而无需太多担心。@AshBurlaczenko很公平,尽管这些属性无论如何都是受支持的。我在没有遵循HTML5的情况下添加了一个替代方法。@Ash-
    data-*
    属性即使在HTML5之前的浏览器中也应该有效,至少对于最常见的浏览器是如此。它当然适用于旧版IE,而旧版IE很可能是仍在使用的旧浏览器。@Ash:。HTML5不是一回事,它被设计成尽可能向后兼容。你可以把它的很多部分放到你现有的页面上,而不用担心。