javascript - 如何在选项 1、选项 2 等中放置链接而不影响布局?

标签 javascript jquery html css twitter-bootstrap

这在 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/

相关文章:

javascript - Jquery 立即向下滚动到一个类

javascript - 从 jQuery GET JSON 响应字符串获取单个值

javascript - store.dispatch 不是函数

javascript - 对象属性在 console.log 中显示为未定义

css - 如何在html中绘制一侧 flex 的矩形

jquery - 使用 CSS/JQUERY/HTML 居中多个响应式 Div

jQuery Ajax 请求每 30 秒一次

javascript - 在 jQuery 条形图中加载 php foreach 值

javascript - 错误 : [jquery] function with wordpress

html - 一个 div 的高度因未知原因移动另一个?