介绍jQuery对象与DOM对象之间的相互转换方法,包括jQuery转DOM和DOM转jQuery的具体实现。
var $div = $("div");
var div = $div[0];
var $div = $("div");
var div = $div.get(0);
var $div = $("div");
var divs = $div.get();
var div = document.getElementById("test");
var $div = $(div);
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>对象转换示例</title>
<style>
.container {
max-width: 800px;
margin: 0 auto;
padding: 20px;
font-family: Arial, sans-serif;
}
.demo-section {
margin-bottom: 30px;
padding: 20px;
background-color: #f8f9fa;
border-radius: 8px;
}
.box {
width: 150px;
height: 150px;
background-color: #3498db;
color: white;
text-align: center;
line-height: 150px;
border-radius: 8px;
margin: 10px auto;
}
button {
padding: 10px 20px;
margin: 5px;
background-color: #3498db;
color: white;
border: none;
border-radius: 5px;
cursor: pointer;
}
button:hover {
background-color: #2980b9;
}
.info-box {
padding: 15px;
margin-top: 15px;
background-color: white;
border-radius: 5px;
border: 2px solid #3498db;
}
</style>
</head>
<body>
<div class="container">
<h1>对象相互转换</h1>
<div class="demo-section">
<h3>转换测试</h3>
<div class="box" id="testBox">测试盒子</div>
<button onclick="jqueryToDom()">jQuery 转 DOM</button>
<button onclick="domToJQuery()">DOM 转 jQuery</button>
<button onclick="resetBox()">重置</button>
<div id="result" class="info-box"></div>
</div>
</div>
<script>
function jqueryToDom() {
var $box = $("#testBox");
var box = $box[0];
box.style.backgroundColor = "#e74c3c";
box.textContent = "DOM 对象";
$("#result").html(`
<p><strong>jQuery 转 DOM:</strong></p>
<p>jQuery 对象:${Object.prototype.toString.call($box)}</p>
<p>DOM 对象:${Object.prototype.toString.call(box)}</p>
<p>元素 ID:${box.id}</p>
`);
}
function domToJQuery() {
var box = document.getElementById("testBox");
var $box = $(box);
$box.css("background-color", "#2ecc71").text("jQuery 对象");
$("#result").html(`
<p><strong>DOM 转 jQuery:</strong></p>
<p>DOM 对象:${Object.prototype.toString.call(box)}</p>
<p>jQuery 对象:${Object.prototype.toString.call($box)}</p>
<p>jQuery 版本:${$box.jquery}</p>
`);
}
function resetBox() {
var $box = $("#testBox");
$box.css("background-color", "#3498db").text("测试盒子");
$("#result").empty();
}
</script>
</body>
</html>
对象转换是 jQuery 开发中的常见操作: