当前位置: 首页>>代码示例>>C++>>正文


C++ HTMLElement::childNodes方法代码示例

本文整理汇总了C++中HTMLElement::childNodes方法的典型用法代码示例。如果您正苦于以下问题:C++ HTMLElement::childNodes方法的具体用法?C++ HTMLElement::childNodes怎么用?C++ HTMLElement::childNodes使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在HTMLElement的用法示例。


在下文中一共展示了HTMLElement::childNodes方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: innerNodePosition

static Position innerNodePosition(const Position& innerPosition)
{
    ASSERT(innerPosition.anchorType() != Position::PositionIsBeforeAnchor);
    ASSERT(innerPosition.anchorType() != Position::PositionIsAfterAnchor);
    HTMLElement* element = toHTMLElement(innerPosition.anchorNode());
    ASSERT(element);
    RefPtrWillBeRawPtr<NodeList> childNodes = element->childNodes();
    if (!childNodes->length())
        return Position(element, 0, Position::PositionIsOffsetInAnchor);

    unsigned offset = 0;

    switch (innerPosition.anchorType()) {
    case Position::PositionIsOffsetInAnchor:
        offset = std::max(0, std::min(innerPosition.offsetInContainerNode(), static_cast<int>(childNodes->length())));
        break;
    case Position::PositionIsAfterChildren:
        offset = childNodes->length();
        break;
    default:
        break;
    }

    if (offset == childNodes->length())
        return Position(element->lastChild(), Position::PositionIsAfterAnchor);

    Node* node = childNodes->item(offset);
    if (node->isTextNode())
        return Position(toText(node), 0);

    return Position(node, Position::PositionIsBeforeAnchor);
}
开发者ID:joone,项目名称:blink-crosswalk,代码行数:32,代码来源:HTMLTextFormControlElement.cpp


注:本文中的HTMLElement::childNodes方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。