Jquery 选择器中的 Select 元素按 class 名称并将其转换回 Jquery 对象

Select element in Jquery selector by class name and convert it back to Jquery object

我不明白为什么当我像在传统 JS 中一样寻找如何获取由 class 名称选择的元素列表中的元素时,我总是看到复杂的答案。

document.getElementsByClassName('anyclass')[1]

所以,我发现自己做不到(可能是方法不对)

$('.anyclass')[1]

但我得到了一个 DOM 元素!所以逻辑上我试过了

$('.anyclass')[1][0]

它不起作用 'TypeError: $(...)[0][0] is undefined' 任何人都可以解释为什么?谢谢!

var elm = document.createElement("div");
var jelm = $(elm); //convert to jQuery Element
var htmlElm = jelm[0]; //convert to HTML Element

我觉得你需要.eq(index)

var secondElement = $('.anyClass').eq(1); //jQuery object
var domElement = secondElement[0]; //DOM element
console.log(secondElement, domElement)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='anyClass'>1</div>
<div class='anyClass'>2</div>

:first伪class相当于:eq( 0 )。也可以写成:lt( 1 )。虽然这只匹配一个元素,但 :first-child 可以匹配多个元素:每个父元素一个。

此处

$('.anyclass:first)

快速示例:

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $($(".t")[1]).css("background-color", "yellow");
});
</script>
</head>
<body>

<p class=t>This 1.</p>
<p class=t>This 2.</p>
<p class=t>This 3.</p>

</body>
</html>

'

$('.anyclass')[0].attr("src");  you can use like this .

在您发表评论后: $(".anyclass")[1] 是一个 DOM 元素而不是 jquery 对象。只需将其包装为 jquery $($("td")[1]).width()