这在 Bootstrap 3.0 模板中使用。
在我尝试将链接放入选项部分之前,代码工作正常。
当我尝试 <li><a href="">Option 1</a></li>
时,显示恢复到基本状态,帮忙?
HTML代码:
<a class="btn btn-default btn-select btn-select-light">
<input type="hidden" class="btn-select-input" id="" name="" value="" />
<span class="btn-select-value">Select Workshop</span>
<span class="btn-select-arrow glyphicon glyphicon-chevron-down"></span>
<ul>
<li>Option 1</li>
<li>Option 2</li>
<li>Option 3</li>
<li>Option 4</li>
</ul>
</a>
Javascript 代码:
$(document).on('click', '.btn-select', function (e) {
e.preventDefault();
var ul = $(this).find("ul");
if ($(this).hasClass("active")) {
if (ul.find("li").is(e.target)) {
var target = $(e.target);
target.addClass("selected").siblings().removeClass("selected");
var value = target.html();
$(this).find(".btn-select-input").val(value);
$(this).find(".btn-select-value").html(value);
}
ul.hide();
$(this).removeClass("active");
}
else {
$('.btn-select').not(this).each(function () {
$(this).removeClass("active").find("ul").hide();
});
ul.slideDown(300);
$(this).addClass("active");
}
});
$(document).on('click', function (e) {
var target = $(e.target).closest(".btn-select");
if (!target.length) {
$(".btn-select").removeClass("active").find("ul").hide();
}
});
最佳答案
嵌套链接是非法的
由 <a>
定义的链接和 anchor 元素不得嵌套; anchor 元素不得包含任何其他 anchor 元素。
当您在选项中添加链接时,您正在尝试执行相同的操作。这不是正确的方法
用作
<div class="btn btn-default btn-select btn-select-light">
<input type="hidden" class="btn-select-input" id="" name="" value="" />
<span class="btn-select-value">Select Workshop</span>
<span class="btn-select-arrow glyphicon glyphicon-chevron-down"></span>
<ul>
<li><a href="#">Option 1</a></li>
<li><a href="#">Option 2</a></li>
<li><a href="#">Option 3</a></li>
<li><a href="#">Option 4</a></li>
</ul>
</div>
关于javascript - 如何在选项 1、选项 2 等中放置链接而不影响布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40338818/