简体   繁体   中英

Why this is saying me 'Could not find matching close tag for “<%” '?

I have the following code.

<body>
    <div class="container">
        <div class="row">
            <% for(let i=0;i<seats.length;i++) { %>
                <div class="col-lg-6">
                    <h3> <%= seats[i].name %> </h3>
                    <% if(<%= seats[i].isBook %> == false) { %>
                        <% document.querySelector("h3").disabled = true; %>
                    <% } %>
                </div>
            <% } %>
        </div>
    </div>

I get the following error:

Error: Could not find matching close tag for "<%". at d:\seat booking\node_modules\ejs\lib\ejs.js:710:19 at Array.forEach()...

The Problem is your if sentence. You are opening the tag <% and before closing it you are opening another one, which doesn't work and is not needed.

You can try the following:

<div class="container">
    <div class="row">
        <% for(let i=0;i<seats.length;i++) { %>
            <div class="col-lg-6">
                <h3> <%= seats[i].name %> </h3>
                <% if(seats[i].isBook == false) {
                    document.querySelector("h3").disabled = true;
                } %>
            </div>
        <% } %>
    </div>
</div>

As you can see, I did not just remove the tags within the if(..) . The other tags I removed are also unnecessary, because you don't have any HTML code in between your if sentence.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM