I have a form and set values of some elements (such as div, input,...) with postfix _holder id.
I know for set value of form input elements must be use val() method.
And also I know for set value for another elements such as span and div must use text() method.
So I write this code:
<form id="myform">
    <span id="title_holder">###</span>
    <div id="description_holder">###</div>
    <input type="text" value="###" id="id_holder">
    <textarea id="others_holder">###</textarea>
    <input type="reset">
</form>
<script>
var values = {
    'title': '111',
    'description': '222',
    'id': '333',
    'others': '444',
};
$.each(values, function(key, value) {
    elementId = $('#' + key + '_holder');
    if (elementId.length > 0) {
        elementId
            .text(value) //for div and span elements
            .val(value); //for input and textarea elements
    }
});
</script>
See Online: https://jsfiddle.net/NabiKAZ/s13u699u/
I'm not sure for correction of use text() and val() at one time. But now all things works well.
But I have problem with reset form. The reset button just reset input box and don't work for textarea. (Of course I do not expect span, div to work on.)
If I remove .text(value) in code, reset button works well, But span, div don't get values.
My self thinks maybe need to check element before use text() or val() methods. but I'm not sure, and so I don't know how can check type element is an input form, See:
$.each(values, function(key, value) {
    elementId = $('#' + key + '_holder');
    if (elementId.length > 0) {
        //IF type of elementId is input form such as input, textarea,...
        elementId.val(value); //for input and textarea elements
        //ELSE normal html elements such as span, div,...
        elementId.text(value); //for div and span elements
    }
});
See Online: https://jsfiddle.net/NabiKAZ/s13u699u/1/
What is your suggestion?