Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.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
Can';t使JQuery';s.children()选择器工作_Jquery - Fatal编程技术网

Can';t使JQuery';s.children()选择器工作

Can';t使JQuery';s.children()选择器工作,jquery,Jquery,HTML div id="picksItem1" class="browser-content-item" onclick="navigate('https://ddg.gg',$(this).attr('id'))"> <div class="browser-content-item-frame"></div> </div> (单击“编辑选择”部分下的缩略图预览) 没有报告任何错误,但什么也没有发生。记录$(项)。子项返回一条关于它为空的消

HTML

div id="picksItem1" class="browser-content-item" onclick="navigate('https://ddg.gg',$(this).attr('id'))">
     <div class="browser-content-item-frame"></div>
</div>
(单击“编辑选择”部分下的缩略图预览)


没有报告任何错误,但什么也没有发生。记录$(项)。子项返回一条关于它为空的消息。

您在onclick函数中传递的不是项,而是字符串(id)

改变

navigate('https://ddg.gg',$(this).attr('id'))

关于adeneo的评论,实际上更好的方法是添加事件侦听器

函数导航(){
var url=$(this.attr(“data href”);//从div对象获取url
$(this).children('.browser content item frame').css(“宽度”),($(window.width()/2)+80+“px”);
$(this).children('.browser内容项frame').css(“height”,“320px”);
}
$(“#picksItem1”)。单击(导航)
.browser内容项框架{
背景色:红色;
}

点击我

您传递的不是onclick函数中的项,而是字符串(id)

改变

navigate('https://ddg.gg',$(this).attr('id'))

关于adeneo的评论,实际上更好的方法是添加事件侦听器

函数导航(){
var url=$(this.attr(“data href”);//从div对象获取url
$(this).children('.browser content item frame').css(“宽度”),($(window.width()/2)+80+“px”);
$(this).children('.browser内容项frame').css(“height”,“320px”);
}
$(“#picksItem1”)。单击(导航)
.browser内容项框架{
背景色:红色;
}

点击我
由于您知道div的#id,因此无需将jQuery函数传递到自定义函数中:

<div id="picksItem1" class="browser-content-item" onclick="navigate('https://ddg.gg','#picksItem1')">

在两个“picksItem”div上执行此操作。但更好的解决方案是在JS中添加一个“点击”事件监听器,而不是在html中定义它

然后您只有一个函数,可以正确使用
。您可以在
数据链接=''
属性上存储自定义
链接
值,并在事件侦听器中访问它。

由于您知道div的#id,因此无需将jQuery函数传递到自定义函数中:

<div id="picksItem1" class="browser-content-item" onclick="navigate('https://ddg.gg','#picksItem1')">

在两个“picksItem”div上执行此操作。但更好的解决方案是在JS中添加一个“点击”事件监听器,而不是在html中定义它


然后您只有一个函数,可以正确使用
。您可以将自定义的
link
值存储在
data link=''
属性上,并在事件侦听器中访问它。

或者更好,停止使用内联Javascript,这样的元素可能有数百个。我不确定我应该如何为每一个单独的元素创建一个单击侦听器。请参阅我对@adeneo very-true注释的补充。或者更好,停止使用内联JavaScription,这样的元素可能会有数百个。我不确定我应该如何为每个人做一个点击监听器。请参阅我对@adeneo very true评论的补充。