Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions src/browser/dom/element.zig
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,14 @@ pub const Element = struct {
return try parser.nodeName(parser.elementToNode(self));
}

pub fn get_dir(self: *parser.Element) ![]const u8 {
return try parser.elementGetAttribute(self, "dir") orelse "";
}

pub fn set_dir(self: *parser.Element, dir: []const u8) !void {
return parser.elementSetAttribute(self, "dir", dir);
}

pub fn get_id(self: *parser.Element) ![]const u8 {
return try parser.elementGetAttribute(self, "id") orelse "";
}
Expand Down
15 changes: 15 additions & 0 deletions src/tests/dom/element.html
Original file line number Diff line number Diff line change
Expand Up @@ -263,3 +263,18 @@
$('#to-remove').remove();
testing.expectEqual(null, $('#to-remove'));
</script>

<script id=elementDir>
const divElement = document.createElement("div");
// Always initialized with empty string.
testing.expectEqual("", divElement.dir);

divElement.dir = "ltr";
testing.expectEqual("ltr", divElement.dir);

divElement.dir = "rtl";
testing.expectEqual("rtl", divElement.dir);

divElement.dir = "auto";
testing.expectEqual("auto", divElement.dir);
</script>