I do not know why this will not work. I do not see how the function is called or what is passed to it.
, , -, .clone() , "" . , DOM. if(), , .
- :
function getHTML($obj, clean) {
var $clone = $obj.clone();
if (clean) {
$clone.find('input').each(function() { this.value = ''; });
}
return $clone.wrap('<div></div>').parent()[0].innerHTML;
}
jQuery :
function getHTML($obj) {
return $obj.clone().find('input').val('').end().wrap('<div/>').parent().html();
}
, , , , .
, , jQuery, ?
function getHTML($obj) {
return $obj.clone().find('input').val('').end();
}
, , .
EDIT:
, .
, DOM. , !
function getHTML($obj, clean) {
var $clone = $obj.clone();
if (clean) {
$clone.find('input').each(function() {
this.value = '';
});
}
return $clone.get();
}
EDIT: .
jQuery .setAttribute("value","") this.value.
:
function getHTML($obj, clean) {
var clone = $obj[0].cloneNode(true);
var inputs = clone.getElementsByTagName('input');
console.log(inputs);
for(var i = 0, len = inputs.length; i < len; i++) {
inputs[i].setAttribute('value','');
}
return $('<div></div>').append(clone)[0].innerHTML;
}