0

所以我有一个 JEditorPane 来显示一个 HTML 页面。我编写了代码来通过 id 检索 HTML 元素。我很难获得它们的属性。

例如,<span id="0" class="insert">abc</span>在 HTML 页面中有。我想得到类名insert,给定它的id。

我的代码看起来像这样,

    HTMLDocument html = (HTMLDocument) jeditor.getDocument();
    String id = "0";

    // make sure this id exists
    if ((elem = html.getElement(id)) != null) { 
        // get the name of class in span element
        String className = (String) elem.getAttributes().getAttribute("class");
        ...
    }

这行不通。但是,elem.getAttributes()返回我以下,

LeafElement(content) 15,16

这不像 HTML 元素的一组属性。我应该如何获取 HTML 元素的类属性?

谢谢!

4

1 回答 1

1

我认为问题在于您传递给getAttribute方法的参数。而不是字符串"class",您必须使用HTML.Attribute.CLASS。因此,最后一行代码将显示为:

String className = (String) elem.getAttributes()
                                .getAttribute(HTML.Attribute.CLASS);

类似的问题:如何使用 Swing 的 HTMLEditorKit.ParserCallback 检索元素的属性?

如果您需要处理其他属性,请查看HTML.Attribute 类的 API 文档。

于 2013-10-31T16:35:15.287 回答