本文整理汇总了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);
}