Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.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_Html - Fatal编程技术网

Javascript Html自动呈现关闭标记

Javascript Html自动呈现关闭标记,javascript,jquery,html,Javascript,Jquery,Html,我正在使用客户端技术(大部分通过JQuery的javascript)开发一个本地移动应用程序CMS系统,并实现了一个类似于ASP.NET的模板系统 假设我有一个导航控件,它有一个starttemplate、endtemplate和itemtemplate,如下所示: <div data-type="navigation" id="navigationControlDemo"> <div data-type="starttemplate"> <ul

我正在使用客户端技术(大部分通过JQuery的javascript)开发一个本地移动应用程序CMS系统,并实现了一个类似于ASP.NET的模板系统

假设我有一个导航控件,它有一个starttemplate、endtemplate和itemtemplate,如下所示:

<div data-type="navigation" id="navigationControlDemo">
    <div data-type="starttemplate">
      <ul id="Menu">
    </div>
    <div data-type="itemtemplate">
      <li><a href="[[Link]]">[[Text]]</a></li>
    </div>  
    <div data-type="endtemplate" >
        </ul>
    </div>
 </div>
 <div data-type="navigation" id="navigationControlDemo">
    <div data-type="starttemplate">
      <ul id="Menu">
      </ul>
    </div>
    <div data-type="itemtemplate">
      <li><a href="[[Link]]">[[Text]]</a></li>
    </div>  
    <div data-type="endtemplate" >

    </div>
    </div>

我的问题是浏览器,因为它似乎决定修复html,以便“正确”关闭标记,如下所示:

<div data-type="navigation" id="navigationControlDemo">
    <div data-type="starttemplate">
      <ul id="Menu">
    </div>
    <div data-type="itemtemplate">
      <li><a href="[[Link]]">[[Text]]</a></li>
    </div>  
    <div data-type="endtemplate" >
        </ul>
    </div>
 </div>
 <div data-type="navigation" id="navigationControlDemo">
    <div data-type="starttemplate">
      <ul id="Menu">
      </ul>
    </div>
    <div data-type="itemtemplate">
      <li><a href="[[Link]]">[[Text]]</a></li>
    </div>  
    <div data-type="endtemplate" >

    </div>
    </div>

  • 我试过一些变通办法和快速破解,但都没有用。。
    我已尝试用某些字符替换“”并在加载后替换它们,但问题仍然存在。

    您的代码不是有效的html。您不能交错标记(在一个位置打开它,在另一个完全不同的位置关闭它)。标签必须正确嵌套

    有效期:

    <p>
        <ul>
        </ul>
    </p>
    

    现在,如果您将其解释为xml,那么模板中的部分将被视为文本而不是标记。

    您的代码不是有效的html。您不能交错标记(在一个位置打开它,在另一个完全不同的位置关闭它)。标签必须正确嵌套

    有效期:

    <p>
        <ul>
        </ul>
    </p>
    
    现在,如果您将其解释为xml,则模板中的部分被视为文本而不是标记。

    您不能将
    元素作为
    元素的子元素。
    s仅接受
  • 标记作为子项

    此外,您似乎没有正确嵌套标记,如下所示:

    <div data-type="starttemplate">
        <ul id="Menu">
    </div>
    
    
    
    如果
    仍处于打开状态,则无法关闭该
    。这就是
      过早关闭的原因。

      您不能将
      元素作为
        元素的子元素。
        s仅接受
      • 标记作为子项

        此外,您似乎没有正确嵌套标记,如下所示:

        <div data-type="starttemplate">
            <ul id="Menu">
        </div>
        
        
        

        如果
        仍处于打开状态,则无法关闭该
        。这就是为什么
        过早关闭的原因。

        基本上,您是在寻求一种方法来强制浏览器显示格式错误、凌乱的内容。谢天谢地,大多数浏览器不会盲目地呈现这种代码,因为结果会让人无法忍受,让您的页面无法理解。
        也就是说,如果您查看原始页面源代码,您可能会看到未更正的原始标记。但是因为浏览器不能真正渲染它,所以引擎会逐步升级并尽其所能


        但是,请不要浪费你的时间来寻找解决方法,这只是一个帮助你的功能,而不是烦扰你。另外:HTML5有更多关于什么是允许的,什么是不允许的,以及浏览器如何处理无效标记的规则(例如,在您的代码中:
        被视为无效)。如果你能胜任,你可以查看更多关于这个主题的信息。

        基本上,你是在要求一种方法来强制浏览器显示格式不正确、杂乱无章的内容。谢天谢地,大多数浏览器不会盲目地呈现这种代码,因为结果会让人无法忍受,让您的页面无法理解。
        也就是说,如果您查看原始页面源代码,您可能会看到未更正的原始标记。但是因为浏览器不能真正渲染它,所以引擎会逐步升级并尽其所能



        但是,请不要浪费你的时间来寻找解决方法,这只是一个帮助你的功能,而不是烦扰你。另外:HTML5有更多关于什么是允许的,什么是不允许的,以及浏览器如何处理无效标记的规则(例如,在您的代码中:
        被视为无效)。如果您愿意,您可以查看主题的更多信息。

        而不是像我使用关键字这样的标记来表示<和>,然后使用模板系统呈现所有正确的html,并将这些关键字替换回,然后将其添加到文档中。我的模板标记中有令人讨厌的语法,但它按照我需要的方式工作。

        而不是像我使用关键字这样的标记来表示<和>,然后使用模板系统呈现所有正确的html,并将这些关键字替换回和>,然后将其添加到文档中。我的模板标记中有令人讨厌的语法,但它按我需要的方式工作。

        尝试将整个标记包装在标记中。@defau1t:不正确,相反:
        div
        不能在
        ul
        @Cerbrus中,对不起,我是说div不能在里面ul@EliasVanOotegem:对不起,我的意思是说div不能在标签内,并将整个标记包装在标签内。@defau1t:不正确,相反:
        div
        不能在
        ul
        @Cerbrus中,对不起,我是说div不能在里面ul@EliasVanOotegem:对不起,我的意思是说div不能在ul中。
        div
        s没有嵌套在ul中,在下一个
        div
        打开之前,
        ul
        上面的一个被先关闭。@RenéWolferink:他还在
        ul
        中嵌套div,请参见
        ,问题是,我们都是对的,也都是错的。因为它没有正确嵌套,所以无法判断上面的div是关闭的还是ul保持打开状态。该注释明确保证+1
        div
        s没有嵌套在ul中,
        ul
        上方的一个在下一个
        div
        打开之前先关闭。@rene-Wolferink:他还在
        ul
        中嵌套div,请参见
        问题是,我们都对,我们都错。因为它没有正确嵌套,所以无法判断上面的div是关闭的还是ul是保持打开的。该注释肯定保证+1如果它允许我在原始标记上运行控件加载代码,它将被呈现