我有一个程序,将变量分配为:
var theList = document.getElementById('theList');
Run Code Online (Sandbox Code Playgroud)
它使用jquery,但如果我这样写:
var theList = $('#theList');
Run Code Online (Sandbox Code Playgroud)
使用该变量的函数不起作用.
jquery选择器和使用getElementById之间有什么区别?
我有以下标记代码
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
</head>
<body>
<table>
<tr>
<th></th>
<th></th>
<th>Back</th>
</tr>
<tr>
<td class="runner-row runner-back">1.98</td>
<td class="runner-row runner-back">1.99</td>
<td class="runner-row runner-back runner-back-active">2.00</td>
</tr>
</table>
</body>
<!-- jQuery -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
</html>
Run Code Online (Sandbox Code Playgroud)
我使用以下Javascript代码来更改我的"runner-row"元素的值
window.onload = function() {
var gElemRunners = $(".runner-row");
gElemRunners[0].innerHTML = 1.5;
gElemRunners[1].innerHTML = 1.6;
gElemRunners[2].innerHTML = 1.7;
}
Run Code Online (Sandbox Code Playgroud)
此代码非常正常,并且在加载窗口时值会正确更新.但是,以下代码不起作用.
window.onload = function() {
var gElemRunners = $(".runner-row");
gElemRunners[0].html(1.5);
gElemRunners[1].html(1.6);
gElemRunners[2].html(1.7);
}
Run Code Online (Sandbox Code Playgroud)
我在DevConsole中收到以下错误
Uncaught TypeError: $(...)[0].html is not a function
Run Code Online (Sandbox Code Playgroud)
即使我将.html更改为.text或.val,我也会收到同样的错误.请帮助我,因为我似乎无法理解问题所在.
我有一个条件,如果我的父母div与子女类.ads那么它应该alert('true')还有alert('false').但我的函数true在两种情况下都会返回.这里是jsFiddle链接http://jsfiddle.net/F3EXf/
<head>
<script type="text/javascript" src="jquery-1.7.2.js"></script>
<script type="text/javascript">
$(function(){
if($('#me').find('.ads')){
alert('true')
} else {
alert('false')
}
});
</script>
</head>
<body>
<div id="me">
<div class="noads">aaaa</div>
</div>
</body>
Run Code Online (Sandbox Code Playgroud)
嗨vega请看下面的截图

我正在查看以下来自http://jqfundamentals.com/chapter/jquery-basics的显式迭代示例:
$( 'li' ).each(function( index, elem ) {
// this: the current, raw DOM element
// index: the current element's index in the selection
// elem: the current, raw DOM element (same as this)
$( elem ).prepend( '<b>' + index + ': </b>' );
});
Run Code Online (Sandbox Code Playgroud)
这些评论指elem为原料的DOM元素,但随后的代码调用.prepend()上elem.
我刚刚开始使用jQuery,但我的理解是你只能在jQuery对象上调用jQuery方法 - 而不是在原始DOM元素上.我误会了吗?
我不知道该如何表达这个问题,因此我无法在线找到任何相关信息,但是为什么必须使用jquery两次“选择”一个元素呢?我尝试了解的应用程序包含多个此示例。
var t = $($("#slider li")[currentIndex]);
IPS.SetTheme($($("#slider li")[currentIndex]));
$($("#location li")[currentIndex]).addClass("selected");
Run Code Online (Sandbox Code Playgroud)
是否与为什么出于范围原因而this偶尔写的相似$(this)?