I tried all your answers and still did some research.
Here's what I came up to:
This Code "wraps" all the nodes with a "span", I added a class "text_nodes" on it.
jQuery(function() {
jQuery('.property-info')
.contents()
.filter(function() {
return this.nodeType == Node.TEXT_NODE;
}).wrap('<span class="text_nodes"/>');
});
And Because the text nodes are now wrap up, I can easily select them individually via css and add the icons as "content".
<div class="property-info">
<span class="text_nodes">Beds:</span><strong>3</strong>
<br>
<span class="text_nodes">Baths:</span> <strong>2</strong>
<br>
<span class="text_nodes">Sq. Ft.:</span> <strong> 1,055 </strong>
<br>
<span class="text_nodes">Type:</span> <strong>Condo</strong>
<br>
</div>
Here's the css code that I used to add icons. (PS I used unicodes for icons)
.property-info > span:nth-child(1):before {
content: '\f236';
font-family: FontAwesome;
font-weight: normal;
font-style: normal;
text-decoration:none;
}
.property-info > span:nth-child(2):before {
content: '\f2cd';
font-family: FontAwesome;
font-weight: normal;
font-style: normal;
text-decoration:none;
}
.property-info > span:nth-child(3):before {
content: '\f015';
font-family: FontAwesome;
font-weight: normal;
font-style: normal;
text-decoration:none;
}
Here's how it looks now.

Thank you very much for those who helped and answered. You all gave Me an idea on how to solve this problem. :)