Can';t使JQuery';s.children()选择器工作
HTMLCan';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> (单击“编辑选择”部分下的缩略图预览) 没有报告任何错误,但什么也没有发生。记录$(项)。子项返回一条关于它为空的消
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评论的补充。