If you want to manually inject components as raw HTML into you're page using jQuery, then you'll need to call ko.applyBindings() after the HTML has been added.
NOTE: Knockout will throw an error if you call applyBindings() on the same DOM element more than once.
Thus, don't do ko.applyBindings(model, $("#parent")[0]) if you plan to inject different HTML at a later time. Instead, use ko.applyBindings(model, $("#parent > :first")[0]). Remember, ko.applyBindings(model, element) expects a single element, so if your #parent will contain multiple children then wrap them inside a <div> before adding them to the #parent.
Alternatively, manage the list of child components in your model rather than injecting raw HTML.