HTMLTableRowElement
sealed class HTMLTableRowElement : HTMLElement, IHtmlTableRowElement, IHtmlElement, IElement, INode, IEventTarget, IParentNode, IChildNode, INonDocumentTypeChildNode, IElementCssInlineStyle
Represents the HTML tr element.
using AngleSharp.DOM.Collections;
using AngleSharp.DOM.Css;
using AngleSharp.Extensions;
using AngleSharp.Html;
namespace AngleSharp.DOM.Html
{
internal sealed class HTMLTableRowElement : HTMLElement, IHtmlTableRowElement, IHtmlElement, IElement, INode, IEventTarget, IParentNode, IChildNode, INonDocumentTypeChildNode, IElementCssInlineStyle
{
private readonly HtmlCollection<HTMLTableCellElement> _cells;
public HorizontalAlignment Align {
get {
return GetAttribute(AttributeNames.Align).ToEnum(HorizontalAlignment.Left);
}
set {
SetAttribute(AttributeNames.Align, value.ToString());
}
}
public AngleSharp.DOM.Css.VerticalAlignment VAlign {
get {
return GetAttribute(AttributeNames.Valign).ToEnum(AngleSharp.DOM.Css.VerticalAlignment.Middle);
}
set {
SetAttribute(AttributeNames.Valign, value.ToString());
}
}
public string BgColor {
get {
return GetAttribute(AttributeNames.BgColor);
}
set {
SetAttribute(AttributeNames.BgColor, value);
}
}
public IHtmlCollection Cells => _cells;
public int Index {
get {
IElement parentElement = base.ParentElement;
while (parentElement != null && !(parentElement is HTMLTableElement)) {
parentElement = parentElement.ParentElement;
}
IHtmlTableElement htmlTableElement = parentElement as IHtmlTableElement;
if (htmlTableElement != null)
return htmlTableElement.Rows.Index(this);
return 0;
}
}
public int IndexInSection {
get {
IElement parentElement = base.ParentElement;
while (parentElement != null && !(parentElement is IHtmlTableSectionElement)) {
parentElement = parentElement.ParentElement;
}
IHtmlTableSectionElement htmlTableSectionElement = parentElement as IHtmlTableSectionElement;
if (htmlTableSectionElement != null)
return htmlTableSectionElement.Rows.Index(this);
return 0;
}
}
public HTMLTableRowElement()
: base(Tags.Tr, NodeFlags.Special | NodeFlags.ImplicitelyClosed)
{
_cells = new HtmlCollection<HTMLTableCellElement>(this, true, null);
}
public IHtmlElement InsertCellAt(int index = -1)
{
HTMLTableCellElement hTMLTableCellElement = _cells[index];
HTMLTableCellElement hTMLTableCellElement2 = base.Owner.CreateElement(Tags.Td) as HTMLTableCellElement;
if (hTMLTableCellElement != null)
InsertBefore(hTMLTableCellElement2, hTMLTableCellElement);
else
AppendChild(hTMLTableCellElement2);
return hTMLTableCellElement2;
}
public void RemoveCellAt(int index)
{
if (index == -1)
index = _cells.Length - 1;
_cells[index]?.Remove();
}
}
}