i have elements in document like:
<div class="checkbox-inline"> <label><input id="myinputid" value="false" type="checkbox"/>mytext</label> </div>
i can access text using:
$("#myinputid").parent().text();
this returns mytext
had hoped would. is:
$("#myinputid").parent().text("newtext");
changes initial element to
<div class="checkbox-inline"><label>newtext</label></div>
how can change text part without removing input? or have reconstruct it?
if there's better way structure checkboxes begin with, acceptable alternative.
(1) using "for" attribute 1 option: https://developer.mozilla.org/en-us/docs/web/html/element/label#using_the_for_attribute
since <input>
no longer child of <label>
, input won't affected changes text()
.
<div class="checkbox-inline"> <label for="myinputid">mytext</label> <input id="myinputid" value="false" type="checkbox"> </div>
(2) option restructure as:
<div class="checkbox-inline"> <label> <span>mytext</span> <input id="myinputid" value="false" type="checkbox"> </label> </div>
then can change span's text without modifying input. span within label allowed according here: is <div> inside <label> block correct?
(3) here might possible solution original html structure: jquery - setting element's text without removing other element (anchor)
Comments
Post a Comment