Javascript jquery嵌套选择不起作用

Javascript jquery嵌套选择不起作用,javascript,jquery,html,Javascript,Jquery,Html,我正在HTML和jQuery中创建一个选择按钮,但jQuery中的按钮选择不起作用。 我的HTML文件是: <div class="back_gray_light sideBar_content" id="sideBar_mostRate_selectYear"> <div id="sideBar_selectYear"> <div id="sideBar_selectYear_button">

我正在HTML和jQuery中创建一个选择按钮,但jQuery中的按钮选择不起作用。 我的HTML文件是:

<div class="back_gray_light sideBar_content" id="sideBar_mostRate_selectYear">
        <div id="sideBar_selectYear">
            <div id="sideBar_selectYear_button">
                <button type="button">
                    <img src="/static/icons/100film/arrow_button.png">
                </button>
            </div>
            <div id="sideBar_selectedYear">
                <p>
                    1394
                </p>
            </div>
            <div id="sideBar_allYears_hide">
                <button type="button" class="sideBar_year_hide sideBar_year_item">
                    <p>
                        1394
                    </p>
                </button>
                <button type="button" class="sideBar_year_hide sideBar_year_item">
                    <p>
                        1393
                    </p>
                </button>

            </div>
        </div>
    </div>
控制台中的输出为:

start

而且我的程序不会打印“选择年份”。

我很确定您只需要更改这一行

$('.sideBar_allYears_hide').slideDown();
对此

$('#sideBar_allYears_hide').slideDown();
简单id类。互换错误

编辑:

要解决主要问题,您需要在单击之前执行此jquery选择器:

$('#sideBar_selectYear_button [type=button]')
编辑: 但现在我回过头来看,原作似乎没有什么问题。因为元素是一个按钮元素。所以我并不认为这是个问题

$('#sideBar_selectYear_button button')

就像已经说过的,你需要改变。使用鼠标悬停时,如果您只是将函数绑定到单击事件,您可能还希望通过代码触发它,或者实际单击侧边栏上的“选择年份”按钮,将选择年份记录到控制台中

请查看下面的演示。我更新了你的代码。我刚刚将console.log替换为Alert,以便您可以在浏览器上看到结果。您的代码工作正常,只需解决和。如果你使用类,那么你必须使用点。在类名之前,如果使用id,则必须在id名称之前

我只是隐藏侧边栏\u allYears\u隐藏div以显示向下滑动的功能

$document.readyfunction{ 警报“启动”; $“侧边栏\u选择年份\u按钮”。单击函数事件{ 警报“选择年份”; $“侧边栏\u所有年份\u隐藏”。向下滑动; }; }; 1394

1394

1393


可能是您的CSS样式输入错误:当元素具有id时,您正在使用类选择器。将$'.sideBar\u allYears\u hide'更改为$'sideBar\u allYears\u hide'修复:您还可以从小提琴中看到选择的年份也显示出来。假设代码中没有其他错误,没有理由不起作用。当然,根据您的计划,只有当您单击按钮时,才会打印“选择年份”。html和函数没有问题。您想在页面加载时打印所选年份吗?页面上可能有两个相同ID的年份,在这种情况下,它只在找到的第一个年份工作。在这里工作正常!查看您的代码:。也许正如John所说,您在代码的其余部分遇到了问题。但它应该打印“select year”Regardsless,直到出现问题为止
$('#sideBar_selectYear_button button')