As you use an arrow function, your this
doesn't refer to the object.
Use the event.target
property
<div class="control-group">
<label for="name" class="control-label">
<p class="text-info">Alex<i class="icon-star"></i> </p>
</label>
<input type="text" class="edit-input" />
<i class="fa fa-pencil edit" aria-hidden="true">edit</i>
</div>
<script>
getSelection = (e) => {
//console.log("this", this); //valid but empty json
console.log("e.target.parentNode", e.target.parentNode); //<=undefined
}
document.querySelector('i.edit').addEventListener('click', getSelection, false);
</script>