在 TypeScript 中,为了访问元素,或者我们可以说 HTML 组件,我们使用文档对象模型 (DOM)。 DOM 定义了 HTML 和 XML 编程接口,将文档结构可视化为节点树。段落、按钮、div、标题等只是树中每个节点代表的文档元素的几个示例。
TypeScript 中的文档对象充当 DOM 的门户。这意味着我们可以使用 TypeScript 轻松访问 DOM 元素。有多种方法可以访问元素,这些是 -
使用 document.querySelector() 方法
使用 document.getElementById() 方法
使用 document.getElementsByClassName() 方法
使用 document.getElementsByTagName() 方法
在本教程中,我们将讨论前两个方法,即 document,querySelector() 和 document.getElementById() 方法。
document.getElementById() 方法是最常见的方法,也是 TypeScript 中访问 HTML 元素的主要使用方法。该方法将用户想要访问的元素的 id 作为参数,并以对象的形式返回该元素。
例如,如果您有一个 ID 为“myDiv”的 HTML 元素,您可以像这样在 TypeScript 中访问它 -
let myDiv = <HTMLElement>document.getElementById("myDiv"); //Manipulating the element by setting its innerHTML myDiv.innerHTML = "Hello, World!";
在此示例中,我们有一个 id 为“root”的 HTML div 元素。在脚本中,我们使用 document.getElementById() 方法通过元素的 id 来访问该元素。该方法将字符串“root”作为参数,并将元素作为对象返回。然后我们将此对象分配给变量 root。
我们使用了两个带有单击事件处理程序的按钮来执行“changeText”和“changeBG”函数。这些函数分别更改元素的innerHTML 文本和背景颜色。由于TypeScript代码不能在HTML中使用,因此我们需要先对其进行编译,然后将编译后的JavaScript代码与HTML一起使用。
我们需要在其中编写 TypeScript 代码并进行编译的文件。
let root = <HTMLElement>document.getElementById('root') function changeText() { root.innerHTML = 'The text is changed!' } function changeBG() { root.style.background = '#b8f0e5' } </HTMLElement>
HTML 代码是我们定义网页元素的地方。
<html> <body> <h2>Access an <i>Element</i> in TypeScript</h2> <button onclick="changeText()">Change Text</button> <button onclick="changeBG()">Change Background Color</button> <div id="root" style="padding: 10px; background: #f0ecb8"> This is a Div element! </div> <script> //Compiled TypeScript File var root = document.getElementById('root') function changeText() { root.innerHTML = 'The text is changed!' } function changeBG() { root.style.background = '#b8f0e5' } </script> </body> </html>
如果具有指定 id 的元素不存在,该方法将返回 null,因此在操作返回的元素之前检查这一点至关重要。
使用 TypeScript 访问 DOM 元素的另一种方法是使用 querySelector() 和 querySelectorAll() 方法。这些方法通过 CSS 选择器来选择元素,类似于 jQuery。
const el = <HTMLElement>document.querySelector('#myDiv');
在此示例中,我们使用 querySelector() 方法通过 TypeScript 访问 HTML 元素。我们采用输入字段来提供输入,并尝试通过访问输入字段和 div 元素在网页上显示确切的文本。我们使用 querySelector() 方法并传递输入字段和 div 元素的 id。我们在输入字段上添加了一个输入事件属性,以便在用户对其进行输入时执行函数。此函数用于访问这两个元素并将 div 的文本更改为输入字段上的确切文本。
<html> <body> <h2>Access an <i>Element</i> in TypeScript</h2> <h4>Enter your text:</h4> <input oninput="changeInput()" id="inputField" type="text" /> <div id="root" style="padding: 10px; background: #d5ed9c"></div> <script> //Compiled TypeScript File var root = document.querySelector('#root') var inputField = document.querySelector('#inputField') function changeInput() { root.innerHTML = inputField.value } </script> </body> </html>
请注意,getElementsByClassName、getElementsByTagName 和 getElementsByName 方法也允许您访问元素,但它们返回元素集合而不是单个元素。
要在 TypeScript 中访问 HTML 元素,您可以使用文档对象及其各种方法(例如 getElementById、querySelector 和 querySelectorAll)来查找要访问的元素,然后根据需要对其进行操作。
以上是访问类型脚本中的元素的详细内容。更多信息请关注PHP中文网其他相关文章!