Your code example is fine.
I tried editing the html directly in 'inspect element' but that didn't help either.
The ICE parser has already processed the page by the time you modify the DOM from there, so changes will not be recognised.
How come this p is not editable?
The ICE parser is very finicky at the moment, something as simple as nesting ICE regions will prevent them from appearing in the ICE editor. E.g., this works:
<div>
<p ice:editable="multiline">
The link <a href="#here2">here</a> is locked.
This whole paragraph is <strong>editable</strong> (as "multiline" on the p tag).
</p>
</div>
But this does not:
<div>
<p ice:editable="multiline">
The link <a href="#here2">here</a> is locked, but <a href="#this2" ice:editable="link">this</a> link is mutable.
This whole paragraph <strong>should</strong> be editable (as "multiline" on the p tag), but the editable <code>
<a></code> interferes with it.
</p>
</div>
Be aware that the ice:
attributes are removed from rendered HTML in all views except the ICE Editor, accessible once you are logged in to the backend with the appropriate permissions.
The top of your admin pages should have an Edit button, like this:

The editable tags should look like this, when hovered:
