$(this).text() = "Guanyu"; // ❌ 語法錯誤:text()是函數調用,不可賦值
// 設置文本內容
$(this).text("Guanyu"); // ✅ 參數傳入
// 獲取文本內容
var txt = $(this).text(); // ✅ 無參調用
<table id="thisTable">
<tr><th>id</th><th>name</th><th>sex</th></tr>
<tr><td>001</td><td>Xiaoming</td><td>man</td></tr>
<tr><td>002</td><td>Laowang</td><td>man</td></tr>
</table>
<script>
$(function() {
// 選中第2列(索引1)所有單元格,跳過表頭
$("#thisTable tr:gt(0) td:eq(1)").each(function() {
$(this).text("Guanyu"); // 正確賦值
});
// 或精確定位:第2行第2列
$("#thisTable tr:eq(1) td:eq(1)").text("Guanyu");
});
</script>
| 方法 | 用途 | 賦值語法 | 獲取語法 | 轉義處理 |
|---|---|---|---|---|
| .text() | 純文本 | .text("str") | .text() | 自動HTML轉義 |
| .html() | HTML片段 | .html("bold") | .html() | 保留標簽 |
| .val() | 表單值 | .val("input") | .val() | 適用input/select/textarea |
// ❌ 慢:每次each觸發DOM操作
$("td").each(function() { $(this).text("new"); });
// ✅ 快:構建HTML字符串一次性替換
var rows = "";
$("tr").each(function() {
rows += "" + $(this).find("td").map(function() {
return "new ";
}).get().join("") + " ";
});
$("table").html(rows);
jQuery的`text()`/`html()`/`val()`均為**函數重載**:無參獲取、有參設置。**切記:左邊不能出現函數調用**。這是JavaScript語法基本功,而非jQuery特有規則。