Selecting elements is tricky business. You will find helpful information in the FDK Programmer's Guide. I happen to have the one for version 6 on hand. In that version, you should refer to pages 366-7.
The key idea is to create an ElementRange that refers to the appropriate selection and then set the document's element selection to be that range. The following function sets the specified document's element selection to be the element passed in.
Element ranges have a beginning and an end. They consist of parent, child, and offset information.
The parent element is the containing element for both the beginning and end of the range. The starting child is the element itself. The ending child is the element's next sibling element. As the whole element is being selected, both offsets are zero.
//Selects the specified element in the specified document
function setElementSelection(doc, element) {
var eRange = new ElementRange;
eRange.beg.parent = element.ParentElement;
eRange.beg.child = element;
eRange.beg.offset = 0;
eRange.end.parent = element.ParentElement;
eRange.end.child = element.NextSiblingElement;
eRange.end.offset = 0;
doc.ElementSelection = eRange;
}
The key idea is to create an ElementRange that refers to the appropriate selection and then set the document's element selection to be that range. The following function sets the specified document's element selection to be the element passed in.
Element ranges have a beginning and an end. They consist of parent, child, and offset information.
The parent element is the containing element for both the beginning and end of the range. The starting child is the element itself. The ending child is the element's next sibling element. As the whole element is being selected, both offsets are zero.
//Selects the specified element in the specified document
function setElementSelection(doc, element) {
var eRange = new ElementRange;
eRange.beg.parent = element.ParentElement;
eRange.beg.child = element;
eRange.beg.offset = 0;
eRange.end.parent = element.ParentElement;
eRange.end.child = element.NextSiblingElement;
eRange.end.offset = 0;
doc.ElementSelection = eRange;
}
No comments:
Post a Comment