相关疑难解决方法(0)

'$(this)'和'this'之间有什么区别?

我目前正在学习本教程:jQuery入门

对于以下两个示例:

$("#orderedlist").find("li").each(function (i) {
    $(this).append(" BAM! " + i);
});
$("#reset").click(function () {
    $("form").each(function () {
        this.reset();
    });
});
Run Code Online (Sandbox Code Playgroud)

请注意,在第一个示例中,我们使用$(this)在每个li元素中附加一些文本.在第二个示例中,我们this在重置表单时直接使用.

$(this)似乎比使用频率更高this.

我的猜测是在第一个例子中,$()将每个li元素转换为理解append()函数的jQuery对象,而在第二个示例中reset()可以直接在表单上调用.

基本上我们需要$()特殊的jQuery功能.

它是否正确?

javascript jquery this

560
推荐指数
6
解决办法
58万
查看次数

'$(this)'的成本是多少?

这里的人经常建议缓存jQueryDOM元素创建的对象,就像使用以下代码一样:

$('#container input').each(function() {
    $(this).addClass('fooClass');
    $(this).attr('data-bar', "bar");
    $(this).css('background-color', 'red');
});
Run Code Online (Sandbox Code Playgroud)
  • 缓存jQuery对象真的能提高代码的性能吗?
  • 将DOM元素传递给jQuery构造函数时,"幕后"会发生什么?

javascript performance jquery

56
推荐指数
4
解决办法
3566
查看次数

jquery $(this).id return Undefined

我在页面上有两个asp单选按钮放在一个updatepanel.我用jQuery为他们写了一个click事件,如下所示:

$(document).ready(function () {
    $(".inputs").click(function () {
         alert($(this).id);
    });
});
Run Code Online (Sandbox Code Playgroud)

但它返回Undefined.问题是什么?

EDIT:

        alert(" or " + $(this).attr("id"));
alert(this.id);
Run Code Online (Sandbox Code Playgroud)

这两行返回null!

asp.net jquery

33
推荐指数
3
解决办法
14万
查看次数

从jQuery/jQuery Mobile的选择菜单中获取所选项目?

我有一个像这样的jQuery Mobile代码:

<select name="selectmenu1" id="selectmenu1">
                        <option value="o1">
                           a
                        </option>
                        <option value="o2">
                            b
                        </option>
                        <option value="o3">
                            c
                        </option>
                        <option value="o4">
                            d
                        </option>
                    </select>
Run Code Online (Sandbox Code Playgroud)

现在我想在用户更改选择后获取所选值.

如何用jQuery做到这一点?

jquery jquery-mobile

4
推荐指数
1
解决办法
2万
查看次数

调用$(this)里面的元素?

可能重复:
如何在元素中查找元素

我正在运行循环来遍历每个表格行.我想访问每个表行内的元素.我该怎么做呢?

表:

<table>
<tr> <td class="a">x</td> <td class="b">x</td> <td class="c">x</td> </tr>
<tr> <td class="a">x</td> <td class="b">x</td> <td class="c">x</td> </tr>
<tr> <td class="a">x</td> <td class="b">x</td> <td class="c">x</td> </tr>
<tr> <td class="a">x</td> <td class="b">x</td> <td class="c">x</td> </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

代码不起作用:

$("tr").each(function(index) {

    // get class a text
    $(this + " td.a").text();

    // get class b text
    $(this + " td.b").text();

    // get class c text
    $(this + " td.c").text();

});
Run Code Online (Sandbox Code Playgroud)

jquery

3
推荐指数
2
解决办法
215
查看次数

标签 统计

jquery ×5

javascript ×2

asp.net ×1

jquery-mobile ×1

performance ×1

this ×1