Class HorizontalRule
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Quy tắc ngang
Một phần tử đại diện cho một đường kẻ ngang. HorizontalRule
có thể nằm trong ListItem
hoặc Paragraph
, nhưng bản thân không thể chứa bất kỳ phần tử nào khác. Để biết thêm thông tin về cấu trúc tài liệu, hãy xem hướng dẫn mở rộng Google Tài liệu.
Tài liệu chi tiết
copy()
Trả về một bản sao sâu, tách biệt của phần tử hiện tại.
Mọi phần tử con có trong phần tử cũng được sao chép. Phần tử mới không có phần tử mẹ.
Cầu thủ trả bóng
HorizontalRule
– Bản sao mới.
Ủy quyền
Các tập lệnh sử dụng phương thức này yêu cầu được uỷ quyền với một hoặc nhiều phạm vi sau:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getAttributes()
Truy xuất các thuộc tính của phần tử.
Kết quả là một đối tượng chứa một thuộc tính cho mỗi thuộc tính phần tử hợp lệ, trong đó mỗi tên thuộc tính tương ứng với một mục trong enum DocumentApp.Attribute
.
const doc = DocumentApp.getActiveDocument();
const documentTab = doc.getActiveTab().asDocumentTab();
const body = documentTab.getBody();
// Append a styled paragraph.
const par = body.appendParagraph('A bold, italicized paragraph.');
par.setBold(true);
par.setItalic(true);
// Retrieve the paragraph's attributes.
const atts = par.getAttributes();
// Log the paragraph attributes.
for (const att in atts) {
Logger.log(`${att}:${atts[att]}`);
}
Cầu thủ trả bóng
Object
– Các thuộc tính của phần tử.
Ủy quyền
Các tập lệnh sử dụng phương thức này yêu cầu được uỷ quyền với một hoặc nhiều phạm vi sau:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getNextSibling()
Truy xuất phần tử đồng cấp tiếp theo của phần tử.
Phần tử đồng cấp tiếp theo có cùng phần tử mẹ và theo sau phần tử hiện tại.
Cầu thủ trả bóng
Element
– Phần tử đồng cấp tiếp theo.
Ủy quyền
Các tập lệnh sử dụng phương thức này yêu cầu được uỷ quyền với một hoặc nhiều phạm vi sau:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getParent()
Truy xuất phần tử mẹ của phần tử.
Phần tử mẹ chứa phần tử hiện tại.
Cầu thủ trả bóng
ContainerElement
– Phần tử mẹ.
Ủy quyền
Các tập lệnh sử dụng phương thức này yêu cầu được uỷ quyền với một hoặc nhiều phạm vi sau:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getPreviousSibling()
Truy xuất phần tử đồng cấp trước đó của phần tử.
Phần tử đồng cấp trước đó có cùng phần tử mẹ và đứng trước phần tử hiện tại.
Cầu thủ trả bóng
Element
– Phần tử đồng cấp trước đó.
Ủy quyền
Các tập lệnh sử dụng phương thức này yêu cầu được uỷ quyền với một hoặc nhiều phạm vi sau:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getType()
Truy xuất ElementType
của phần tử.
Sử dụng getType()
để xác định chính xác loại của một phần tử nhất định.
const doc = DocumentApp.getActiveDocument();
const documentTab = doc.getActiveTab().asDocumentTab();
const body = documentTab.getBody();
// Obtain the first element in the active tab's body.
const firstChild = body.getChild(0);
// Use getType() to determine the element's type.
if (firstChild.getType() === DocumentApp.ElementType.PARAGRAPH) {
Logger.log('The first element is a paragraph.');
} else {
Logger.log('The first element is not a paragraph.');
}
Cầu thủ trả bóng
ElementType
– Loại phần tử.
Ủy quyền
Các tập lệnh sử dụng phương thức này yêu cầu được uỷ quyền với một hoặc nhiều phạm vi sau:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
isAtDocumentEnd()
Xác định xem phần tử có ở cuối Document
hay không.
Cầu thủ trả bóng
Boolean
– Liệu phần tử có ở cuối thẻ hay không.
Ủy quyền
Các tập lệnh sử dụng phương thức này yêu cầu được uỷ quyền với một hoặc nhiều phạm vi sau:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
removeFromParent()
Xoá phần tử khỏi phần tử mẹ.
const doc = DocumentApp.getActiveDocument();
const documentTab = doc.getActiveTab().asDocumentTab();
const body = documentTab.getBody();
// Remove all images in the active tab's body.
const imgs = body.getImages();
for (let i = 0; i < imgs.length; i++) {
imgs[i].removeFromParent();
}
Cầu thủ trả bóng
HorizontalRule
– Phần tử đã xoá.
Ủy quyền
Các tập lệnh sử dụng phương thức này yêu cầu được uỷ quyền với một hoặc nhiều phạm vi sau:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
setAttributes(attributes)
Đặt thuộc tính của phần tử.
Tham số thuộc tính được chỉ định phải là một đối tượng, trong đó mỗi tên thuộc tính là một mục trong enumeration DocumentApp.Attribute
và mỗi giá trị thuộc tính là giá trị mới sẽ được áp dụng.
const doc = DocumentApp.getActiveDocument();
const documentTab = doc.getActiveTab().asDocumentTab();
const body = documentTab.getBody();
// Define a custom paragraph style.
const style = {};
style[DocumentApp.Attribute.HORIZONTAL_ALIGNMENT] =
DocumentApp.HorizontalAlignment.RIGHT;
style[DocumentApp.Attribute.FONT_FAMILY] = 'Calibri';
style[DocumentApp.Attribute.FONT_SIZE] = 18;
style[DocumentApp.Attribute.BOLD] = true;
// Append a plain paragraph.
const par = body.appendParagraph('A paragraph with custom style.');
// Apply the custom style.
par.setAttributes(style);
Tham số
Tên | Loại | Mô tả |
attributes | Object | Thuộc tính của phần tử. |
Cầu thủ trả bóng
HorizontalRule
– Phần tử hiện tại.
Ủy quyền
Các tập lệnh sử dụng phương thức này yêu cầu được uỷ quyền với một hoặc nhiều phạm vi sau:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2025-07-26 UTC.
[null,null,["Cập nhật lần gần đây nhất: 2025-07-26 UTC."],[[["\u003cp\u003e\u003ccode\u003eHorizontalRule\u003c/code\u003e represents a horizontal line in a Google Doc and can be placed within a list item or paragraph but cannot contain other elements.\u003c/p\u003e\n"],["\u003cp\u003eIt provides methods for copying, manipulating attributes, navigating to sibling/parent elements, removing from the document, and checking its position.\u003c/p\u003e\n"],["\u003cp\u003eMethods like \u003ccode\u003ecopy()\u003c/code\u003e, \u003ccode\u003egetAttributes()\u003c/code\u003e, and \u003ccode\u003esetAttributes()\u003c/code\u003e allow for creating copies of the element and modifying its properties.\u003c/p\u003e\n"],["\u003cp\u003eYou can use \u003ccode\u003egetNextSibling()\u003c/code\u003e, \u003ccode\u003egetPreviousSibling()\u003c/code\u003e, and \u003ccode\u003egetParent()\u003c/code\u003e to traverse the document structure relative to the \u003ccode\u003eHorizontalRule\u003c/code\u003e element.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eremoveFromParent()\u003c/code\u003e enables removing the horizontal rule from its parent container, and \u003ccode\u003eisAtDocumentEnd()\u003c/code\u003e checks its location within the document.\u003c/p\u003e\n"]]],[],null,["# Class HorizontalRule\n\nHorizontalRule\n\nAn element representing an horizontal rule. A `Horizontal``Rule` can be contained within a\n[ListItem](/apps-script/reference/document/list-item) or [Paragraph](/apps-script/reference/document/paragraph), but cannot itself contain any other element. For more\ninformation on document structure, see the [guide to extending Google Docs](/apps-script/guides/docs#structure_of_a_document). \n\n### Methods\n\n| Method | Return type | Brief description |\n|-----------------------------------------------------|-----------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------|\n| [copy()](#copy()) | [HorizontalRule](#) | Returns a detached, deep copy of the current element. |\n| [getAttributes()](#getAttributes()) | `Object` | Retrieves the element's attributes. |\n| [getNextSibling()](#getNextSibling()) | [Element](/apps-script/reference/document/element) | Retrieves the element's next sibling element. |\n| [getParent()](#getParent()) | [ContainerElement](/apps-script/reference/document/container-element) | Retrieves the element's parent element. |\n| [getPreviousSibling()](#getPreviousSibling()) | [Element](/apps-script/reference/document/element) | Retrieves the element's previous sibling element. |\n| [getType()](#getType()) | [ElementType](/apps-script/reference/document/element-type) | Retrieves the element's [ElementType](/apps-script/reference/document/element-type). |\n| [isAtDocumentEnd()](#isAtDocumentEnd()) | `Boolean` | Determines whether the element is at the end of the [Document](/apps-script/reference/document/document). |\n| [removeFromParent()](#removeFromParent()) | [HorizontalRule](#) | Removes the element from its parent. |\n| [setAttributes(attributes)](#setAttributes(Object)) | [HorizontalRule](#) | Sets the element's attributes. |\n\nDetailed documentation\n----------------------\n\n### `copy()`\n\nReturns a detached, deep copy of the current element.\n\nAny child elements present in the element are also copied. The new element doesn't have a\nparent.\n\n#### Return\n\n\n[HorizontalRule](#) --- The new copy.\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/documents.currentonly`\n- `https://www.googleapis.com/auth/documents`\n\n*** ** * ** ***\n\n### `get``Attributes()`\n\nRetrieves the element's attributes.\n\nThe result is an object containing a property for each valid element attribute where each\nproperty name corresponds to an item in the `Document``App.Attribute` enumeration.\n\n```javascript\nconst doc = DocumentApp.getActiveDocument();\nconst documentTab = doc.getActiveTab().asDocumentTab();\nconst body = documentTab.getBody();\n\n// Append a styled paragraph.\nconst par = body.appendParagraph('A bold, italicized paragraph.');\npar.setBold(true);\npar.setItalic(true);\n\n// Retrieve the paragraph's attributes.\nconst atts = par.getAttributes();\n\n// Log the paragraph attributes.\nfor (const att in atts) {\n Logger.log(`${att}:${atts[att]}`);\n}\n```\n\n#### Return\n\n\n`Object` --- The element's attributes.\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/documents.currentonly`\n- `https://www.googleapis.com/auth/documents`\n\n*** ** * ** ***\n\n### `get``Next``Sibling()`\n\nRetrieves the element's next sibling element.\n\nThe next sibling has the same parent and follows the current element.\n\n#### Return\n\n\n[Element](/apps-script/reference/document/element) --- The next sibling element.\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/documents.currentonly`\n- `https://www.googleapis.com/auth/documents`\n\n*** ** * ** ***\n\n### `get``Parent()`\n\nRetrieves the element's parent element.\n\nThe parent element contains the current element.\n\n#### Return\n\n\n[ContainerElement](/apps-script/reference/document/container-element) --- The parent element.\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/documents.currentonly`\n- `https://www.googleapis.com/auth/documents`\n\n*** ** * ** ***\n\n### `get``Previous``Sibling()`\n\nRetrieves the element's previous sibling element.\n\nThe previous sibling has the same parent and precedes the current element.\n\n#### Return\n\n\n[Element](/apps-script/reference/document/element) --- The previous sibling element.\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/documents.currentonly`\n- `https://www.googleapis.com/auth/documents`\n\n*** ** * ** ***\n\n### `get``Type()`\n\nRetrieves the element's [ElementType](/apps-script/reference/document/element-type).\n\nUse `get``Type()` to determine the exact type of a given element.\n\n```javascript\nconst doc = DocumentApp.getActiveDocument();\nconst documentTab = doc.getActiveTab().asDocumentTab();\nconst body = documentTab.getBody();\n\n// Obtain the first element in the active tab's body.\n\nconst firstChild = body.getChild(0);\n\n// Use getType() to determine the element's type.\nif (firstChild.getType() === DocumentApp.ElementType.PARAGRAPH) {\n Logger.log('The first element is a paragraph.');\n} else {\n Logger.log('The first element is not a paragraph.');\n}\n```\n\n#### Return\n\n\n[ElementType](/apps-script/reference/document/element-type) --- The element type.\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/documents.currentonly`\n- `https://www.googleapis.com/auth/documents`\n\n*** ** * ** ***\n\n### `is``At``Document``End()`\n\nDetermines whether the element is at the end of the [Document](/apps-script/reference/document/document).\n\n#### Return\n\n\n`Boolean` --- Whether the element is at the end of the tab.\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/documents.currentonly`\n- `https://www.googleapis.com/auth/documents`\n\n*** ** * ** ***\n\n### `remove``From``Parent()`\n\nRemoves the element from its parent.\n\n```javascript\nconst doc = DocumentApp.getActiveDocument();\nconst documentTab = doc.getActiveTab().asDocumentTab();\nconst body = documentTab.getBody();\n\n// Remove all images in the active tab's body.\nconst imgs = body.getImages();\nfor (let i = 0; i \u003c imgs.length; i++) {\n imgs[i].removeFromParent();\n}\n```\n\n#### Return\n\n\n[HorizontalRule](#) --- The removed element.\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/documents.currentonly`\n- `https://www.googleapis.com/auth/documents`\n\n*** ** * ** ***\n\n### `set``Attributes(attributes)`\n\nSets the element's attributes.\n\nThe specified attributes parameter must be an object where each property name is an item in\nthe `Document``App.Attribute` enumeration and each property value is the new value to be\napplied.\n\n```javascript\nconst doc = DocumentApp.getActiveDocument();\nconst documentTab = doc.getActiveTab().asDocumentTab();\nconst body = documentTab.getBody();\n\n// Define a custom paragraph style.\nconst style = {};\nstyle[DocumentApp.Attribute.HORIZONTAL_ALIGNMENT] =\n DocumentApp.HorizontalAlignment.RIGHT;\nstyle[DocumentApp.Attribute.FONT_FAMILY] = 'Calibri';\nstyle[DocumentApp.Attribute.FONT_SIZE] = 18;\nstyle[DocumentApp.Attribute.BOLD] = true;\n\n// Append a plain paragraph.\nconst par = body.appendParagraph('A paragraph with custom style.');\n\n// Apply the custom style.\npar.setAttributes(style);\n```\n\n#### Parameters\n\n| Name | Type | Description |\n|--------------|----------|---------------------------|\n| `attributes` | `Object` | The element's attributes. |\n\n#### Return\n\n\n[HorizontalRule](#) --- The current element.\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/documents.currentonly`\n- `https://www.googleapis.com/auth/documents`"]]