【发布时间】:2018-10-29 10:07:37
【问题描述】:
我有一个小问题。我们的机构正在与 Drupal 合作,但我们想自己改变一些小事情。我精通 HTML/CSS,但不是真正的 JS。
现在我有一个问题。我将我的 HTML 代码粘贴到内容部分。
这是我的 HTML 代码:
<div class="accordion">
<div>
<input type="radio" name="acc" id="question01" checked="">
<label for="question01">question</label>
<div class="accordion-content">
<p>content</p>
</div>
</div>
它应该是一个只有 CSS 的手风琴。它在本地运行良好,但在 Drupal 系统中有一个 Javascript 函数,它在 <input> 周围添加了一个 <div> 元素,所以我的 CSS 不再工作,这意味着我不能再打开手风琴了。
Drupal 中的 HTML:
<div class="accordion">
<div>
<div class="medium styledRadio" style="background-image: url("/assets/img/sprite-radiobuttons-medium.png"); width: 23px; height: 24px; cursor: pointer; background-position: 0px 0px;">
<input checked="checked" id="question01" name="acc" type="radio" class="medium" style="display: none;">
</div>
<label for="question01">question</label>
<div class="accordion-content">
<p>content</p>
</div>
</div>
所以我的问题是:有没有一种简单的方法可以覆盖这个 JavaScript?也许有一个简短的解决方案可以删除class="accordion" 中的这个额外的<div>,我可以在这个内容部分添加它。
【问题讨论】:
-
一个简单的解决方案是添加
.medium.styledRadio{display:content;}.display:content使元素的子元素看起来好像是元素父元素的直接子元素,而忽略元素本身。不幸的是,这仍然很新,不适用于所有浏览器:caniuse.com/#search=display%3Acontent -
!!正确的链接 - 我希望它会有所帮助:SO - Removing wrapper div without Jquery (raw javascript)
标签: javascript html css drupal