我的div为id" divDesc0"。
我想在其中获取innerHTML或第一个div的主体。
这是我的HTML代码 -
<div class="row" id="divDesc0">
<div class="col-sm-1 text-right">
<p>jk m</p>
</div>
<div>
<span class="button" id="deldivDesc0" onclick="removeSegment(this.id)">
<i class="glyphicon glyphicon-trash"></i>
</span>
</div>
</div>
我试过以下但没有工作
$("#divDesc0 > div:first").attr("innerHTML")
但是未定义
答案 0 :(得分:1)
Element.innerHTML
是property of a DOM element,因此它不属于jQuery's .attr()
method可访问的属性的一部分(尽管传统上可能是这样)。这种区别是在jQuery v1.6及更高版本中进行的:
从jQuery 1.6开始,
.prop()
方法提供了一种显式检索属性值的方法,而.attr()
检索属性。例如,
selectedIndex
,tagName
,nodeName
,nodeType
,ownerDocument
,defaultChecked
和defaultSelected
应为使用.prop()方法检索和设置。
因此,您有以下选择:
使用jQuery's .html()
method返回 jQuery对象的innerHTML,即:
$('#divDesc0 > div:first').html()
检索基础DOM节点并访问其.innerHTML
属性,即:
$('#divDesc0 > div:first')[0].innerHTML
使用.prop()
直接访问jQuery对象上的innerHTML
属性,即:
$('#divDesc0 > div:first').prop('innerHTML');
答案 1 :(得分:0)
答案 2 :(得分:0)
为什么不使用text()
var a=$('#divDesc0 > div:first').text();
alert(a);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div class="row" id="divDesc0">
<div class="col-sm-1 text-right">
<p>jk m</p>
</div>
<div>
<span class="button" id="deldivDesc0" onclick="removeSegment(this.id)"><i class="glyphicon glyphicon-trash"></i></span>
</div>
</div>