{"action":"created","issue":{"url":"https://api.github.com/repos/jquery/sizzle/issues/394","repository_url":"https://api.github.com/repos/jquery/sizzle","labels_url":"https://api.github.com/repos/jquery/sizzle/issues/394/labels{/name}","comments_url":"https://api.github.com/repos/jquery/sizzle/issues/394/comments","events_url":"https://api.github.com/repos/jquery/sizzle/issues/394/events","html_url":"https://github.com/jquery/sizzle/issues/394","id":189091106,"number":394,"title":"Unset ID attribute bug","user":{"login":"mclov1n","id":23451796,"avatar_url":"https://avatars.githubusercontent.com/u/23451796?v=3","gravatar_id":"","url":"https://api.github.com/users/mclov1n","html_url":"https://github.com/mclov1n","followers_url":"https://api.github.com/users/mclov1n/followers","following_url":"https://api.github.com/users/mclov1n/following{/other_user}","gists_url":"https://api.github.com/users/mclov1n/gists{/gist_id}","starred_url":"https://api.github.com/users/mclov1n/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mclov1n/subscriptions","organizations_url":"https://api.github.com/users/mclov1n/orgs","repos_url":"https://api.github.com/users/mclov1n/repos","events_url":"https://api.github.com/users/mclov1n/events{/privacy}","received_events_url":"https://api.github.com/users/mclov1n/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-11-14T11:37:59Z","updated_at":"2016-11-14T12:03:00Z","closed_at":"2016-11-14T11:59:51Z","body":"Applying any sizzle selector to an element with unset id (the attribute \"id\" exists on the DOM element but with not any value) will remove the id attribute. Any later attempt to acquire the attribute \"id\" (\".attr('id')\") would result to 'undefined' which is wrong since the \"id\" attribute initially existed.\r\nGoing through the code i noticed that an intermediate \"id\" attribute is used (sizzle-something) for elements of which the '.getAttribute(\"id\")' condition evaluates to false. The intermediate id is set to the element as an attribute and when work is done is being removed. However, that removes the initial id attribute entry  of the element as well (which had no value). \r\nMaybe the 'hasAttribute' function should have been used."},"comment":{"url":"https://api.github.com/repos/jquery/sizzle/issues/comments/260318350","html_url":"https://github.com/jquery/sizzle/issues/394#issuecomment-260318350","issue_url":"https://api.github.com/repos/jquery/sizzle/issues/394","id":260318350,"user":{"login":"mclov1n","id":23451796,"avatar_url":"https://avatars.githubusercontent.com/u/23451796?v=3","gravatar_id":"","url":"https://api.github.com/users/mclov1n","html_url":"https://github.com/mclov1n","followers_url":"https://api.github.com/users/mclov1n/followers","following_url":"https://api.github.com/users/mclov1n/following{/other_user}","gists_url":"https://api.github.com/users/mclov1n/gists{/gist_id}","starred_url":"https://api.github.com/users/mclov1n/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mclov1n/subscriptions","organizations_url":"https://api.github.com/users/mclov1n/orgs","repos_url":"https://api.github.com/users/mclov1n/repos","events_url":"https://api.github.com/users/mclov1n/events{/privacy}","received_events_url":"https://api.github.com/users/mclov1n/received_events","type":"User","site_admin":false},"created_at":"2016-11-14T12:03:00Z","updated_at":"2016-11-14T12:03:00Z","body":"That, in turn, means that all invalid html are unsupported by jQuery as well (since sizzle is part of it) ?"}}
{"actor":{"display_login":"mclov1n"}}