简体   繁体   English

jQuery li元素按ID选择

[英]jQuery li element select by ID

can anyone please help? 谁能帮忙吗?

I have a HTML code like this. 我有这样的HTML代码。

<ul class="nav navbar-nav navbar-left">
                    <li>
                        <a href="#"><img src="img/topbararrowback.png" alt=""></a>
                    </li>
                    <li id="hide_filter">
                        <a href="#">Hide Filter</a>
                    </li>
                </ul>

I try to add a .click event on li having id hide_filter . 我尝试在具有id hide_filter的 li上添加一个.click事件。

What I have done is- 我所做的是-

$("#hide_filter").click(function()
{
    alert('message');
});

And - 还有-

$(".navbar-left li").click(function() {
    alert(this.id); // id of clicked li by directly accessing DOMElement property
    alert($(this).attr('id')); // jQuery's .attr() method, same but more verbose
    alert($(this).html()); // gets innerHTML of clicked li
    alert($(this).text()); // gets text contents of clicked li
});

And - 还有-

    $('ul.selectedItems li#hide_filter').click(function()
{
    //$("p").hide();
    alert('message');
});

And - 还有-

$('#hide_filter')[0].click(function()
{
    //$("p").hide();
    alert('message');
});

But nothing works for me. 但是对我没有任何作用。

Thanks in advance for helping.. 在此先感谢您的帮助。

Actually It works :) 其实有效:)

 $("#hide_filter").click(function() { alert('message'); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <ul class="nav navbar-nav navbar-left"> <li> <a href="#"><img src="img/topbararrowback.png" alt=""></a> </li> <li id="hide_filter"> <a href="#">Hide Filter</a> </li> </ul> 

Assuming you have added the jquery library, You need to attach the event when DOM is loaded.ie on DOM ready event: 假设您已添加了jQuery库,则需要在加载DOM时附加事件。即在DOM ready事件上:

$(function(){//document ready function
 $("#hide_filter").click(function(){
    alert('message');
 });
});

Working Demo 工作演示

Remove .selectedItems selector from your 3rd option 从第3个选项中删除.selectedItems选择器

$('ul li#hide_filter').click(function()
{
    //$("p").hide();
    alert('message');
});

Remove index 0 from your 4th option 从第4个选项中删除索引0

$('#hide_filter').click(function()
{
    //$("p").hide();
    alert('message');
});

Otherwise your 4 options are correct and will work fine. 否则,您的4个选项是正确的并且可以正常工作。 Kindly make sure you have written these codes inside ready event. 请确保已在ready事件中编写了这些代码。

$(document).ready(function(){
    $("#hide_filter").click(function()
    {
        alert('message');
    });
});

Maybe your code is not eval. 也许您的代码不是评估版。 Try put your code in body tag with function wrap like this 尝试使用函数包装将代码放入body标签

 $(function(){ //document ready function $("#hide_filter").on("click",function(){ console.log('message'); }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 

Maybe there is a problem with jquery libraries. 也许jquery库有问题。 Are they in conflict with other javascripts? 它们是否与其他JavaScript冲突?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM