Java 类org.w3c.dom.html.HTMLSelectElement 实例源码

项目:SplitCharater    文件:HTMLOptionElementImpl.java   
public int getIndex()
{
    Node        parent;
    NodeList    options;
    int            i;

    // Locate the parent SELECT. Note that this OPTION might be inside a
    // OPTGROUP inside the SELECT. Or it might not have a parent SELECT.
    // Everything is possible. If no parent is found, return -1.
    parent = getParentNode();
    while ( parent != null && ! ( parent instanceof HTMLSelectElement ) )
        parent = parent.getParentNode();
    if ( parent != null )
    {
        // Use getElementsByTagName() which creates a snapshot of all the
        // OPTION elements under the SELECT. Access to the returned NodeList
        // is very fast and the snapshot solves many synchronization problems.
        options = ( (HTMLElement) parent ).getElementsByTagName( "OPTION" );
        for ( i = 0 ; i < options.getLength() ; ++i )
            if ( options.item( i ) == this )
                return i;
    }
    return -1;
}
项目:SplitCharater    文件:HTMLOptionElementImpl.java   
public void setIndex( int index )
{
    Node        parent;
    NodeList    options;
    Node        item;

    // Locate the parent SELECT. Note that this OPTION might be inside a
    // OPTGROUP inside the SELECT. Or it might not have a parent SELECT.
    // Everything is possible. If no parent is found, just return.
    parent = getParentNode();
    while ( parent != null && ! ( parent instanceof HTMLSelectElement ) )
        parent = parent.getParentNode();
    if ( parent != null )
    {
        // Use getElementsByTagName() which creates a snapshot of all the
        // OPTION elements under the SELECT. Access to the returned NodeList
        // is very fast and the snapshot solves many synchronization problems.
        // Make sure this OPTION is not replacing itself.
        options = ( (HTMLElement) parent ).getElementsByTagName( "OPTION" );
        if ( options.item( index ) != this )
        {
            // Remove this OPTION from its parent. Place this OPTION right
            // before indexed OPTION underneath it's direct parent (might
            // be an OPTGROUP).
            getParentNode().removeChild( this );
            item = options.item( index );
            item.getParentNode().insertBefore( this, item );
        }
    }
}
项目:ui4j    文件:WebKitElement.java   
@Override
public Optional<Select> getSelect() {
    if (element instanceof HTMLSelectElement) {
        return Optional.of(new Select(this));
    } else {
        return Optional.empty();
    }
}