JQuery单击“选择子图像”
JQuery On Click Select Child Image
我有一个datatables表,它也在使用行细节api。当我点击+
和-
图像时,这一切都很好。
但是,我希望在单击整行时显示详细信息,而不仅仅是+
和-
图像。
这是代码的一部分:
$('#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
,并使用this.next('img').src
和其他一些变体,但都返回了错误,表示匹配函数无法使用它们。如何更改代码,以便单击整行而不仅仅是图像?
以下更改应该有效:
$('#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()
调用出现问题的最可能原因是,您将直接Node访问替换为jQuery对象,而该对象没有匹配方法。
你试过这个吗?
$('#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' );
}
} );
相关文章:
- ImageMapster可以动态显示和隐藏图像选择崩溃
- 获取子图像的src
- 在屏幕上显示选择选项图像
- JQuery单击“选择子图像”
- 如何在新的分区中显示ImgAreaSelect选择的图像
- 在鼠标悬停/取消悬停父元素时,更改子图像的url哈希
- 使用javascript从磁盘中的文件夹中选择所有图像的路径
- 显示基于多个单选按钮选择的图像
- 选择随机图像,检查是否在特定范围内并相应显示
- 显示从文件选择器中选择的图像的图像缩略图
- 带有悬停图像的子导航栏
- 使用prototype js更改子图像源
- 为什么图像选择器程序中的这个函数 js 不起作用
- 是否可以更改我的 css 精灵用 javascript 显示的子图像
- 如何在选择图像时显示图像
- 一次选择一个图像
- 选择更改图像和链接
- 将 SVG 中的组拆分为位于内容周围的子图像
- 如何使用js或jquery调整非子图像的大小
- 根据选择显示图像数组