Javascript 使用jquery find('.classname')无法定位TD元素?

Javascript 使用jquery find('.classname')无法定位TD元素?,javascript,jquery,Javascript,Jquery,我正在遍历页面上的div,并使用find查找子元素,并提供一个类名 选择元素和输入元素被定位,但我试图查找的3个TDs没有返回任何内容 下面是代码片段 $.each($(".ccypair"), function(index, element) { var elements = { selectElement : $(element).find('.selectstyle'), input

我正在遍历页面上的div,并使用find查找子元素,并提供一个类名

选择元素和输入元素被定位,但我试图查找的3个TDs没有返回任何内容

下面是代码片段

        $.each($(".ccypair"), function(index, element) {
            var elements = {
                selectElement   : $(element).find('.selectstyle'),
                inputElement    : $(element).find('.inputstyle'),
                tdElement1      : $(element).find('.decayTime'),
                tdElement2      : $(element).find('.price.bidprice'),
                tdElement3      : $(element).find('.price.offerprice')
            };
        });
现在,前两个find行工作正常,但下面的三个tdElement行解决不了任何问题。任何能告诉我哪里出了问题的人。我怀疑TD需要一个不同的选择器

抱歉这里是html

   <div class="ccypair" id="ccypairdiv_0">
        <form>
            <table>
                <tr>
                    <td colspan="2" class="top currency"><select class="ccypairselect"/></td>
                    <td colspan="2" class="top volume"><input class="ccypairvolume" type="text" value="1m" autocomplete="off"/></td>
                    <td colspan="2" class="decaytime">00h:00m:00s</td>
                </tr>
                <tr>
                    <td colspan="3" class="price bidPrice">---.---</td>
                    <td colspan="3" class="price offerPrice">---.---</td>
                </tr>
            </table>
        </form>
    </div>

    <div class="ccypair" id="ccypairdiv_1">
        <form>
            <table>
                <tr>
                    <td colspan="2" class="top currency"><select class="ccypairselect"/></td>
                    <td colspan="2" class="top volume"><input class="ccypairvolume" type="text" value="1m" autocomplete="off"/></td>
                    <td colspan="2" class="top decaytime">00h:00m:00s</td>
                </tr>
                <tr>
                    <td colspan="3" class="price bidPrice">---.---</td>
                    <td colspan="3" class="price offerPrice">---.---</td>
                </tr>
            </table>
        </form>
    </div>

谢谢

首先检查jQuery是否使用$加载,然后重试

//think about structure, it makes your code more legible

$(".ccypair").each(function(index) {
    var element = $(this); //each .ccypair found
    var elements = {
        selectElement   : element.find('.selectstyle'),
        inputElement    : element.find('.inputstyle'),
        tdElement1      : element.find('.decayTime'),
        tdElement2      : element.find('.price.bidprice'),
        tdElement3      : element.find('.price.offerprice')
    };
});

干杯

像往常一样,回归基本的方法奏效了。一个简单的打字错误是这里的根本原因。道歉


在这方面。jQuery是否提供了一个标志,这样它就可以打印出一条错误消息,而不是找不到一个元素并以静默方式失败。这真的很有帮助吗?

你能发布一些测试失败的html吗?你能从表中显示一些示例html吗?为什么不能$'.ccypair'。每个函数索引、元素只是一个观察,而不是一个解决方案?你发布的代码正在工作。问题一定出在您的html中,您出于某种原因没有提供它。我认为可以安全地假设jQuery已经加载,我们现在只是在讨论语义。使代码看起来更整洁并不能解决我的问题。我同意你的文章确实让它更具可读性,但你的文章在任何方面都没有帮助way@juckky好的,车费。。我想问题应该是类名html:class=top decaytime js:find'decaytime'