Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.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 can';t使用jquery next()获取下一个同级_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript can';t使用jquery next()获取下一个同级

Javascript can';t使用jquery next()获取下一个同级,javascript,jquery,html,css,Javascript,Jquery,Html,Css,在这里,我试图了解下一步的工作原理。在这里,我试图在单击一个span元素时显示一个隐藏的textarea。隐藏的textarea是span元素的下一个兄弟。但它似乎不起作用。我得到以下错误: ReferenceError:$未定义 .customcmntform{ 显示:无; } #客户评论{ 颜色:蓝色; 光标:指针; 文字装饰:下划线; } 添加评论。。。 尝试使用$(cmnt).nextSibling()这将获得与跨度相同级别的下一个标记。 $(..).next用于在元素搜索jquery

在这里,我试图了解下一步的工作原理。在这里,我试图在单击一个span元素时显示一个隐藏的textarea。隐藏的textarea是span元素的下一个兄弟。但它似乎不起作用。我得到以下错误:

ReferenceError:$未定义


.customcmntform{
显示:无;
}
#客户评论{
颜色:蓝色;
光标:指针;
文字装饰:下划线;
}
添加评论。。。
尝试使用$(cmnt).nextSibling()这将获得与跨度相同级别的下一个标记。
$(..).next用于在元素搜索jquery上获得多个匹配时

<table>
    <tr>
        <td class="clsname">something1</td>
        <td class="clsname">something2</td>
    </tr>
</table>
<script>
    $(.clsname).next(); //this should retrieve the something2 td tag.
</script>

有些事
什么
$(.clsname.next()//这将检索something2 td标记。
对于您的情况,只有event.target中的span元素。
在这种情况下,尝试使用$(cmnt).nextSibling()获取下一个相同级别的标记。

而不是使用
onClick
尝试使用
。单击
方法,因为这符合现代浏览器中注册eventListeners的标准

始终使用
$(document).ready()
,因为这是jQuery库中用于检测内容满载和DOM就绪状态的外观设计模式

您的代码可能如下所示:

<span id='customcomment'>Add a Comment...</span>
<form action='#' method='post'  name='cmntform'> 
    <textarea   class='customcmntform' placeholder=' add a comment......' >
    </textarea>
</form>
添加注释。。。
然后使用此JS代码段:

$(document).ready(function() {
   $('#customcomment').click(function() {
        console.log('a');
      $(this).next().find('.customcmntform').show();
   })
 });
</script>
$(文档).ready(函数(){
$('#customcomment')。单击(函数(){
console.log('a');
$(this).next().find('.customcmntform').show();
})
});

扎米,请检查下面的代码,这样可以正常工作

   function letmecomment(event){
     $(event.target).next('form').find('.customcmntform').show();
   }

Next():-获取匹配元素集中每个元素紧跟其后的同级。如果提供了选择器,则仅当它与该选择器匹配时才会检索下一个同级。

首先,我认为这是链接jQuery时的错误。首先尝试一下谷歌托管的脚本,正如sone在评论中提到的那样。即使不是这样,我也会用

$('#customcomment').on("click", function() {
    // code here
});

这使得代码更加清晰。

可能jquery文件的路径不正确。.我会从根开始,因为jquery
jquery路径很好。。。不工作如果出现错误
ReferenceError:$未定义
,似乎您没有正确链接jquery工作..谢谢。。。textarea并不是我通常喜欢的下一个同级。在(“单击”)上,因为这样我只有一个处理程序用于所有匹配的Objectt,这意味着tat占用的内存更少,并且对动态创建的对象也有效,而.click()为每个对象创建一个处理程序,除非您为所有对象重新启用它,否则不会访问动态对象。这实际上是一个真实的事实,请注意@ivan sieder的未来
$('#customcomment').on("click", function() {
    // code here
});