在 if-else 条件下,额外的 div 被添加到 html 标记中
Extra div getting added in sightly html markup in if-else condition
if else html 标记中会添加额外的 div;当第二个块未执行时。基于作者对话框中的复选框,存在三个条件。当第二个复选框未被选中时;那么第一个和第三个条件为真,第二个条件为假;所以第二个 sightly 块不应该被执行。但是它在标记中添加了额外的 div ;这样 div 和 class "container tabs-container" 在两者之间关闭。
-- 请在视觉标记下方找到
<sly data-sly-test.condition1="${properties.checkbox1}">
<sly data-sly-test.condition2="${properties.checkbox2}">
<sly data-sly-test.condition3="${properties.checkbox3}">
<div class="tabs-body">
<div class="container tabs-container">
<!--/* First condition */-->
<sly data-sly-test="${condition1}">
<div class="tabs-body-item" data-tab-content-id="data-tab-content-id1">
</div>
</sly>
<!--/* Second condition */-->
<sly data-sly-test="${condition2}">
<sly data-sly-test="${condition1}">
<div class="tabs-body-item" data-tab-content-id="data-tab-content-id2">
</sly>
<sly data-sly-test="${!condition1}">
<div class="tabs-body-item is-active" data-tab-content-id="data-tab-content-id2">
</sly>
</div>
</sly>
<!--/* Third condition */-->
<sly data-sly-test="${condition3}">
<sly data-sly-test.condition2andcondition1false="${!condition2 && !condition1}">
<div class="tabs-body-item is-active" data-tab-content-id="data-tab-content-id3">
</sly>
<sly data-sly-test="${!condition2andcondition1false}">
<div class="tabs-body-item" data-tab-content-id="data-tab-content-id3">
</sly>
</div>
</sly>
</div>
</div>
呈现的标记是--
<div class="tabs-body">
<div class="container tabs-container">
<div class="tabs-body-item" data-tab-content-id="data-tab-content-id1">
</div>
</div><!--extra div-->
<div class="tabs-body-item" data-tab-content-id="data-tab-content-id3">
</div>
</div>
</div>
额外的 div 已在评论中提及。我花了很多时间在上面,但无法弄清楚从哪里添加额外的 div 。各位高手能帮我解决一下吗?
欣赏。
这很可能是由于标签嵌套无效。不要尝试将 JSTL 代码原样转换为 HTL。
<div class="tabs-body">
<div class="container tabs-container">
<!--/* First condition */-->
<div class="tabs-body-item" data-tab-content-id="data-tab-content-id1"
data-sly-test.condition1="${properties.checkbox1}">
</div>
<!--/* Second condition */-->
<div class="tabs-body-item ${ condition1 ? '' : 'is-active' }"
data-tab-content-id="data-tab-content-id2"
data-sly-test.condition2="${properties.checkbox2}">
</div>
<!--/* Third condition */-->
<div class="tabs-body-item ${condition1 && condition2 ? 'is-active' : ''}"
data-tab-content-id="data-tab-content-id3"
data-sly-test="${properties.checkbox3}">
</div>
</div>
</div>
if else html 标记中会添加额外的 div;当第二个块未执行时。基于作者对话框中的复选框,存在三个条件。当第二个复选框未被选中时;那么第一个和第三个条件为真,第二个条件为假;所以第二个 sightly 块不应该被执行。但是它在标记中添加了额外的 div ;这样 div 和 class "container tabs-container" 在两者之间关闭。
-- 请在视觉标记下方找到
<sly data-sly-test.condition1="${properties.checkbox1}">
<sly data-sly-test.condition2="${properties.checkbox2}">
<sly data-sly-test.condition3="${properties.checkbox3}">
<div class="tabs-body">
<div class="container tabs-container">
<!--/* First condition */-->
<sly data-sly-test="${condition1}">
<div class="tabs-body-item" data-tab-content-id="data-tab-content-id1">
</div>
</sly>
<!--/* Second condition */-->
<sly data-sly-test="${condition2}">
<sly data-sly-test="${condition1}">
<div class="tabs-body-item" data-tab-content-id="data-tab-content-id2">
</sly>
<sly data-sly-test="${!condition1}">
<div class="tabs-body-item is-active" data-tab-content-id="data-tab-content-id2">
</sly>
</div>
</sly>
<!--/* Third condition */-->
<sly data-sly-test="${condition3}">
<sly data-sly-test.condition2andcondition1false="${!condition2 && !condition1}">
<div class="tabs-body-item is-active" data-tab-content-id="data-tab-content-id3">
</sly>
<sly data-sly-test="${!condition2andcondition1false}">
<div class="tabs-body-item" data-tab-content-id="data-tab-content-id3">
</sly>
</div>
</sly>
</div>
</div>
呈现的标记是--
<div class="tabs-body">
<div class="container tabs-container">
<div class="tabs-body-item" data-tab-content-id="data-tab-content-id1">
</div>
</div><!--extra div-->
<div class="tabs-body-item" data-tab-content-id="data-tab-content-id3">
</div>
</div>
</div>
额外的 div 已在评论中提及。我花了很多时间在上面,但无法弄清楚从哪里添加额外的 div 。各位高手能帮我解决一下吗?
欣赏。
这很可能是由于标签嵌套无效。不要尝试将 JSTL 代码原样转换为 HTL。
<div class="tabs-body">
<div class="container tabs-container">
<!--/* First condition */-->
<div class="tabs-body-item" data-tab-content-id="data-tab-content-id1"
data-sly-test.condition1="${properties.checkbox1}">
</div>
<!--/* Second condition */-->
<div class="tabs-body-item ${ condition1 ? '' : 'is-active' }"
data-tab-content-id="data-tab-content-id2"
data-sly-test.condition2="${properties.checkbox2}">
</div>
<!--/* Third condition */-->
<div class="tabs-body-item ${condition1 && condition2 ? 'is-active' : ''}"
data-tab-content-id="data-tab-content-id3"
data-sly-test="${properties.checkbox3}">
</div>
</div>
</div>