Kotlin JS - 访问HTML DOM属性

时间:2015-06-18 19:48:03

标签: kotlin

在Kotlin中访问HTML DOM属性的规范方法是什么?我没有看到像<?php openForm(); ?> <?php include "Title.php"; include "Content.php"; ?> <button type='submit'>Submit</button> <?php closeForm(); ?> &amp; offsetHeight

中公开了offsetWidth
Element

1 个答案:

答案 0 :(得分:4)

只需将e投射到HTMLElement,即可获得您期望的所有属性。

(e as HTMLElement).offsetHeight

这不是Kotlin的一个功能,我在一个普通的JS文档中找到了它:https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetHeight

同时

你提出一个'规范'的做事方式是正确的,因为Kotlin在内部与JavaScript完全不同。以下是我将如何处理您的代码段:

val e = document.getElementById("text")!! as HTMLElement
e.offsetHeight
  1. 在代码中使用val代替var。它声明了固定的引用并允许一些代码优化。 http://kotlinlang.org/docs/reference/properties.html#properties-and-fields

  2. 如果您不需要,请不要使用Element?等可空类型。在这种情况下,您可能非常确定您的DOM结构,因此getElementById("text")必须返回一个元素,而不是null。在那里放置一个null-assertion !!以放松你的想法。如果您的JS使用未知的html,我会更好地处理这种情况:

    val e = document.getElementById("text") as? HTMLElement ?: throw RuntimeException("the DOM has no 'text' id")