0

I've copy+pasted the navbar code from getbootstrap.com into my jspx file.

The result looks like this.

Copy+pasting the code directly into jsfiddle results in this.

Looking at the code, I don't see any difference that should matter:

  • In one version, we have <b /> tags, and in the other, we have <b></b> tags
  • some of the whitespace is different
  • some of the attribute orders are different.

For reference, the complete HTML follows:

Working version:

<div version="2.0">
    <nav role="navigation" class="navbar navbar-default">
        <div class="navbar-header">
            <button data-target="#bs-example-navbar-collapse-1"
                data-toggle="collapse" class="navbar-toggle" type="button">
                <span class="sr-only">Toggle navigation</span><span class="icon-bar" /><span
                    class="icon-bar" /><span class="icon-bar" />
            </button>
            <a href="#" class="navbar-brand">Brand</a>
        </div>
        <div id="bs-example-navbar-collapse-1"
            class="collapse navbar-collapse">
            <ul class="nav navbar-nav">
                <li class="active"><a href="#">Link</a></li>
                <li><a href="#">Link</a></li>
                <li class="dropdown"><a data-toggle="dropdown"
                    class="dropdown-toggle" href="#">Dropdown <b class="caret"></b></a>
                <ul class="dropdown-menu">
                        <li><a href="#">Action</a></li>
                        <li><a href="#">Another action</a></li>
                        <li><a href="#">Something else here</a></li>
                        <li class="divider" />
                        <li><a href="#">Separated link</a></li>
                        <li class="divider" />
                        <li><a href="#">One more separated link</a></li>
                    </ul></li>
            </ul>
            <form role="search" class="navbar-form navbar-left">
                <div class="form-group">
                    <input placeholder="Search" class="form-control" type="text" />
                </div>
                <button class="btn btn-default" type="submit">Submit</button>
            </form>
            <ul class="nav navbar-nav navbar-right">
                <li><a href="#">Link</a></li>
                <li class="dropdown"><a data-toggle="dropdown"
                    class="dropdown-toggle" href="#">Dropdown <b class="caret" /></a>
                <ul class="dropdown-menu">
                        <li><a href="#">Action</a></li>
                        <li><a href="#">Another action</a></li>
                        <li><a href="#">Something else here</a></li>
                        <li class="divider" />
                        <li><a href="#">Separated link</a></li>
                    </ul></li>
            </ul>
        </div>
    </nav>
</div>

Broken version:

<div version="2.0">
    <nav role="navigation" class="navbar navbar-default">
        <div class="navbar-header">
            <button data-target="#bs-example-navbar-collapse-1"
                data-toggle="collapse" class="navbar-toggle" type="button">
                <span class="sr-only">Toggle navigation</span><span class="icon-bar" /><span
                    class="icon-bar" /><span class="icon-bar" />
            </button>
            <a href="#" class="navbar-brand">Brand</a>
        </div>
        <div id="bs-example-navbar-collapse-1"
            class="collapse navbar-collapse">
            <ul class="nav navbar-nav">
                <li class="active"><a href="#">Link</a></li>
                <li><a href="#">Link</a></li>
                <li class="dropdown"><a data-toggle="dropdown"
                    class="dropdown-toggle" href="#">Dropdown <b class="caret" /></a>
                <ul class="dropdown-menu">
                        <li><a href="#">Action</a></li>
                        <li><a href="#">Another action</a></li>
                        <li><a href="#">Something else here</a></li>
                        <li class="divider" />
                        <li><a href="#">Separated link</a></li>
                        <li class="divider" />
                        <li><a href="#">One more separated link</a></li>
                    </ul></li>
            </ul>
            <form role="search" class="navbar-form navbar-left">
                <div class="form-group">
                    <input placeholder="Search" class="form-control" type="text" />
                </div>
                <button class="btn btn-default" type="submit">Submit</button>
            </form>
            <ul class="nav navbar-nav navbar-right">
                <li><a href="#">Link</a></li>
                <li class="dropdown"><a data-toggle="dropdown"
                    class="dropdown-toggle" href="#">Dropdown <b class="caret" /></a>
                <ul class="dropdown-menu">
                        <li><a href="#">Action</a></li>
                        <li><a href="#">Another action</a></li>
                        <li><a href="#">Something else here</a></li>
                        <li class="divider" />
                        <li><a href="#">Separated link</a></li>
                    </ul></li>
            </ul>
        </div>
    </nav>
</div>

1 Answers1

0

It turns out that the self-closing tags are the problem.

The answer to this question: Are (non-void) self-closing tags valid in HTML5? says so.

I'm going to go with the answer to Keep JSPX from creating self closing tags (<div></div> != <div/>) as a workaround.

Community
  • 1
  • 1