Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery获取列表元素的id并基于单击调用函数_Javascript_Jquery_Html - Fatal编程技术网

Javascript Jquery获取列表元素的id并基于单击调用函数

Javascript Jquery获取列表元素的id并基于单击调用函数,javascript,jquery,html,Javascript,Jquery,Html,基于单击列表元素(我将其ID设置为与对象相同),我想调用一个函数(在本例中,只需打印该对象)。我不想将onclick附加到每个列表项。我想要这样的东西 $('#li.menu').click(function(){ $('li').each(function(){ var id= $(this).attr('id'); } //when the id is clicked, see the object and if it's there and call prin

基于单击列表元素(我将其ID设置为与对象相同),我想调用一个函数(在本例中,只需打印该对象)。我不想将onclick附加到每个列表项。我想要这样的东西

$('#li.menu').click(function(){
    $('li').each(function(){
    var id= $(this).attr('id');
    }
   //when the id is clicked, see the object and if it's there and call print on it)
});



//sample function:

    function print(x){
    console.log(x);
    }

Var myObject = {          
            obj1:{ JSON here},    
            obj2:{ JSON here }
    }



事件委派,使用正确的选择器、括号语法和正确的大小写执行:

//它是'var',而不是'var'——在JavaScript中大小写很重要
var myObject={
obj1:{foo:“我是obj1”},
obj2:{foo:“我是obj2”}
};
//事件委派:钩子单击#菜单,仅当
//单击通过一个'a'元素
$('#菜单')。在(“单击”,“a”,函数()上){
//VVV——单击的元素的id
打印(myObject[this.id]);
//括号--^-------^
});
功能打印(x){
控制台日志(x);
}


事件委派,使用正确的选择器、括号语法和正确的大小写执行:

//它是'var',而不是'var'——在JavaScript中大小写很重要
var myObject={
obj1:{foo:“我是obj1”},
obj2:{foo:“我是obj2”}
};
//事件委派:钩子单击#菜单,仅当
//单击通过一个'a'元素
$('#菜单')。在(“单击”,“a”,函数()上){
//VVV——单击的元素的id
打印(myObject[this.id]);
//括号--^-------^
});
功能打印(x){
控制台日志(x);
}


myObject.id的值是多少?对象既没有id属性,也没有LI元素。您的预期行为是什么?我的意思是调用函数print,并传入单击的任何id(对应对象),但您意识到您的选择器
#li。菜单
不匹配任何内容,并且您的li中仍然没有任何id,也没有任何对象
myObject
。这很令人困惑,不是吗?!注意:您所说的“JSON here”可能是指“object initializer here”或“data here”或类似内容。JSON是用于数据交换的文本表示法。如果您处理的是JavaScript源代码,而不是字符串,那么您就没有处理JSON。
myObject.id
的值是多少?您的对象既没有id属性,也没有LI元素。您的预期行为是什么?我的意思是调用函数print,并传入单击的任何id(对应对象),但您意识到您的选择器
#li。菜单
不匹配任何内容,并且您的li中仍然没有任何id,也没有任何对象
myObject
。这很令人困惑,不是吗?!注意:您所说的“JSON here”可能是指“object initializer here”或“data here”或类似内容。JSON是用于数据交换的文本表示法。如果您处理的是JavaScript源代码,而不是字符串,那么您就不是在处理JSON。谢谢您的解释!那么,我使用的“on”和“click”有什么区别呢?
。click(function()…)
的缩写。on(“click”,function()…)
。但我在上面使用的带有选择器的表单没有事件委托。请参阅上面代码中的注释,以及。感谢您的解释!那么,我使用的“on”和“click”有什么区别呢?
。click(function()…)
的缩写。on(“click”,function()…)
。但我在上面使用的带有选择器的表单没有事件委托。请参见上面代码中的注释,以及。
<!-- Bootstrap Simple Sidebar: Sidebar -->
<div id="sidebar-wrapper">
    <ul class="sidebar-nav" id="menu">
        <li>
            <a id="obj1" href="#repo">Repository </a>
        </li>
        <li>
            <a id="obj2" href="#config">Configuration</a>
        </li>

    </ul>
</div>