我有一个javascript变量
inputElem [i]
当我将它与其他字符串组合时:
var result = inputElem[i] + '<div>xv</div>';
预期结果:
<input type="radio" value="www.abc.com">
<div>xv</div>
实际上:
[object HTMLInputElement]
<div>xv</div>
答案 0 :(得分:3)
问题是inputElem[i]
是一个dom元素,所以字符串实现的默认值应该归咎于此。
看起来你想要为元素包装html标记,所以使用outerHTML
var result = inputElem[i].outerHTML + '<div>xv</div>';
答案 1 :(得分:1)
当你尝试序列化(转换为字符串)任何对象时,它的数据类型就是你得到的结果
试试这个:
var result = $('<div>').append(inputElem[i]).clone()).html()+ '<div>xv</div>';
或
var result = $(inputElem[i]).prop('outerHTML')
或使用普通的javascript,你可以简单地做outerHtml
即
var result = inputElem[i].outerHTML + '<div>xv</div>';
答案 2 :(得分:0)
在您的情况下,您应该连接输入对象的HTML代码,而不是输入对象本身。
使用JQuery html()
函数:
$(inputElem[i]).html() + '<div>xv</div>';
答案 3 :(得分:0)
试试这个:
var result = $(inputElem[i]).html() + '<div>xv</div>';
$('#parentID').html(result);