jeditorpane:get html元素的class属性

mutmk8jj  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(321)

所以我有一个窗口来显示一个html页面。我已经编写了代码来按id检索html元素。我在获取它们的属性时遇到了问题。
例如,有 <span id="0" class="insert"></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元素的class属性?
谢谢!

lmvvr0a8

lmvvr0a81#

我认为问题在于传递给getattribute方法的参数。您必须使用html.attribute.class而不是字符串“class”。最后一行代码是:

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

类似的问题:如何使用swing的htmleditorkit.parsercallback检索元素的属性?
如果需要处理其他属性,还可以查看html.attribute类的api文档。

相关问题