我目前正在学习本教程: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功能.
它是否正确?
这里的人经常建议缓存jQuery从DOM元素创建的对象,就像使用以下代码一样:
$('#container input').each(function() {
$(this).addClass('fooClass');
$(this).attr('data-bar', "bar");
$(this).css('background-color', 'red');
});
Run Code Online (Sandbox Code Playgroud)
我在页面上有两个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!
我有一个像这样的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做到这一点?
可能重复:
如何在元素中查找元素
我正在运行循环来遍历每个表格行.我想访问每个表行内的元素.我该怎么做呢?
表:
<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)