jquery选择器只在表元素的td上

时间:2011-12-06 16:35:59

标签: jquery asp.net html

我有一个asp.net Generated表,它创建了一个表格,也是幻灯片放映。为了使幻灯片放映,我只需要选择表格的元素。如果表有多行,则会出现此问题。我正在使用jquery循环插件进行幻灯片放映。

这样可以正常工作并显示幻灯片1 2 3。

<table>
    <tbody>
        <tr>
            <td>1</td>
            <td>2</td>
            <td>3</td>
        </tr>
    </tbody>
<table>

但是如果你添加另一行它将无法正常工作

<table>
    <tbody>
        <tr>
            <td>1</td>
            <td>2</td>
            <td>3</td>
        </tr>
        <tr>
            <td>4</td>
            <td>5</td>
            <td>6</td>
        </tr>
    </tbody>
</table>

以下是从表格中选择幻灯片的选择器。我只想从这个表中选择root td。有内部表,但我不希望选择那些。我假设我只需要更改选择器以使其正常工作。谢谢你的帮助。

 $('#SlideTable').cycle({
            fx: 'fade',
            speed: 'fast',
            next: null,
            prev: null,
            startingSlide: slideNumber - 1
        });

2 个答案:

答案 0 :(得分:1)

好吧,仍然不是100%肯定你想做什么,但根据你所说的,我假设你想要一个带有缩略图库的幻灯片,其中幻灯片显示1张图片并在画廊中翻阅它们显示幻灯片中的所有图像。在这种情况下,您最终可能会在图库图像上单击事件以强制幻灯片显示该图像。如果这不正确,请告诉我,我会尽力帮助。

假设所有这一切都是正确的,并且你的滑块功能(看起来你正在使用jQuery Cycle插件,所以这将保持)可以在包含里面图像的div上使用,你可以这样做:

图库和滑块容器的HTML

<table id="gallery">
    <tbody>
        <tr>
            <td><img src="path/to/img1"/></td>
            <td><img src="path/to/img2"/></td>
            <td><img src="path/to/img3"/></td>
        </tr>
        <tr>
            <td><img src="path/to/img4"/></td>
            <td><img src="path/to/img5"/></td>
            <td><img src="path/to/img6"/></td>
        </tr>
    </tbody>
</table>

<div id="slider"></div>

JavaScript设置滑块

$('#gallery td').each(function() {
    $('#slider').append($(this).children().clone());    
});

$('#slider').cycle({
    fx: 'fade',
    speed: 'fast',
    next: null,
    prev: null,
    startingSlide: slideNumber - 1
});

顺便说一下,第一个选择器$('#gallery td')抓取ID为td的表格中的所有gallery

我们从gallery表中选择所有td,并在滑块容器中生成它们的克隆。然后,我们调用滑块容器上的循环插件,以显示包含所有图像的滑块。这应该会产生一个图像库和图像幻灯片。单击未包含的事件,但添加起来应该非常简单。

如果这有帮助,请告诉我。如果没有,请纠正我的假设,我会尽力帮助。

答案 1 :(得分:0)

如果您需要选择根表,只使用子选择器

 $('#SlideTable > table')

但是从你的例子来看,你似乎必须选择第一行的td才能这样做:

  $('#SlideTable tr:first td')

如果你解释得更好,它会更容易帮助。