我如何在不影响布局的情况下将链接放在选项1,选项2等

How do I put a link in option 1, option 2, etc without affecting the layout?

本文关键字:选项 链接 情况下 影响 布局      更新时间:2023-09-26

在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>元素定义的链接和锚不能嵌套;锚元素不能包含任何其他锚元素。

当你在选项中添加链接时,你也在尝试做同样的事情。这不是正确的方法

使用

<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>