mirror of
https://github.com/lightpanda-io/browser.git
synced 2025-12-16 00:08:59 +00:00
dom: implement element.id
This commit is contained in:
@@ -41,6 +41,14 @@ pub const Element = struct {
|
|||||||
return try parser.nodeName(parser.elementToNode(self));
|
return try parser.nodeName(parser.elementToNode(self));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn get_id(self: *parser.Element) ![]const u8 {
|
||||||
|
return try parser.elementGetAttribute(self, "id") orelse "";
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn set_id(self: *parser.Element, id: []const u8) !void {
|
||||||
|
return try parser.elementSetAttribute(self, "id", id);
|
||||||
|
}
|
||||||
|
|
||||||
pub fn get_attributes(self: *parser.Element) !*parser.NamedNodeMap {
|
pub fn get_attributes(self: *parser.Element) !*parser.NamedNodeMap {
|
||||||
return try parser.nodeGetAttributes(parser.elementToNode(self));
|
return try parser.nodeGetAttributes(parser.elementToNode(self));
|
||||||
}
|
}
|
||||||
@@ -113,6 +121,15 @@ pub fn testExecFn(
|
|||||||
};
|
};
|
||||||
try checkCases(js_env, &getters);
|
try checkCases(js_env, &getters);
|
||||||
|
|
||||||
|
var gettersetters = [_]Case{
|
||||||
|
.{ .src = "let gs = document.getElementById('content')", .ex = "undefined" },
|
||||||
|
.{ .src = "gs.id", .ex = "content" },
|
||||||
|
.{ .src = "gs.id = 'foo'", .ex = "foo" },
|
||||||
|
.{ .src = "gs.id", .ex = "foo" },
|
||||||
|
.{ .src = "gs.id = 'content'", .ex = "content" },
|
||||||
|
};
|
||||||
|
try checkCases(js_env, &gettersetters);
|
||||||
|
|
||||||
var attribute = [_]Case{
|
var attribute = [_]Case{
|
||||||
.{ .src = "let a = document.getElementById('content')", .ex = "undefined" },
|
.{ .src = "let a = document.getElementById('content')", .ex = "undefined" },
|
||||||
.{ .src = "a.hasAttributes()", .ex = "true" },
|
.{ .src = "a.hasAttributes()", .ex = "true" },
|
||||||
|
|||||||
Reference in New Issue
Block a user