Javascript JQuery单击选择子图像

Javascript JQuery单击选择子图像,javascript,jquery,onclick,datatables,children,Javascript,Jquery,Onclick,Datatables,Children,我有一个datatables表,它也在使用。当我点击+和-图片时,这个效果很好 但是,我希望在单击整行时显示详细信息,而不仅仅是+和-图像 以下是代码的这一部分: $('#table tbody td img').on('click', function () { var nTr = this.parentNode.parentNode; if ( this.src.match('details_close') ) { /* This row is alr

我有一个datatables表,它也在使用。当我点击+和-图片时,这个效果很好

但是,我希望在单击整行时显示详细信息,而不仅仅是+和-图像

以下是代码的这一部分:

$('#table tbody td img').on('click', function () {
    var nTr = this.parentNode.parentNode;
    if ( this.src.match('details_close') )
    {
        /* This row is already open - close it */
        this.src = "../images/details_open.png";
        oTable.fnClose( nTr );
    }
    else
    {
        /* Open this row */
        this.src = "../images/details_close.png";
        oTable.fnOpen( nTr, fnFormatDetails(oTable, nTr), 'details' );
    }
});
我已经尝试过从代码的第一行删除img并执行此操作。next'img'.src以及其他一些变体,但都出现了错误,表示match函数无法使用它们。如何更改代码,以便单击整行而不仅仅是图像?

您尝试过吗

 $('#table tbody td').on('click', function () {
   var nTr = this.parentNode.parentNode;
   if ( $('#table tbody td').src.match('details_close') )
    {
       /* This row is already open - close it */
       $('#table tbody td').src = "../images/details_open.png";
       oTable.fnClose( nTr );
    }
   else
    {
       /* Open this row */
       $('#table tbody td').src = "../images/details_close.png";
       oTable.fnOpen( nTr, fnFormatDetails(oTable, nTr), 'details' );
    }
} );

以下更改应该有效:

$('#table tbody tr').on('click', function () {
   var nTr = this,
       img=$(this).find('td img')[0];
   if (img.src.match('details_close') )
    {
       /* This row is already open - close it */
       img.src = "../images/details_open.png";
       oTable.fnClose( nTr );
    }
   else
    {
       /* Open this row */
       img.src = "../images/details_close.png";
       oTable.fnOpen( nTr, fnFormatDetails(oTable, nTr), 'details' );
    }
} );

.match调用出现问题的最可能原因是,您用jQuery对象替换了直接节点访问,而该对象没有匹配方法。

谢谢,我尝试了此操作,但收到了此错误Uncaught TypeError:无法读取undefined的属性“src”。已尝试变量img=。。。而且知道为什么吗?@David你在代码中使用jQuery,对吗?因为如果您使用的是不同的库,.find'img'[0]位在使用jquery.ya时将无法正常工作。我想也许你给我的东西里找不到img,因为它和我点击的td在同一行?也许我需要用tr什么的是的,就是这样!将前3行更改为:code$'table tbody tr'。单击,函数{var nTr=this;var expandImg=$this。查找'td img'[0];谢谢!