获取outerHTML代码问题

Joz*_*ghi 0 javascript jquery

这是我的js代码:

function myfunction(){
    $("#label_startDate[0]")[0].outerHTML;
}
Run Code Online (Sandbox Code Playgroud)

这是html部分:

<label id="label_startDate[0]" class="" style="">
    <span id="star_startDate[0]" style="display: none; color: red">*</span>
    <input name="startDate[0]" id="startDate[0]" value="2015-06-02" readonly="" class="forDatePicker hasDatepicker" size="14" onchange="changeEndDate(0); calculateDaysDuration('@[0]', 0); "type="text">
</label>
Run Code Online (Sandbox Code Playgroud)

由于我从标签上有一个奇怪的id格式,我无法得到outerHTML.我该怎么办 ?我无法更改id label_starDate [0].

Sat*_*pal 6

使用\\逃脱[],还可以使用.prop()访问属性

 $("#label_startDate\\[0\\]").prop("outerHTML");
Run Code Online (Sandbox Code Playgroud)

来自Docs

要使用任何元字符(例如!"#$%&'()*+,./:; <=>?@ [] ^`{|}〜)作为名称的文字部分,必须使用两个反斜杠进行转义:\\.

$(function() {
    alert( $("#label_startDate\\[0\\]").prop("outerHTML"))
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label id="label_startDate[0]" class="" style="">
                        <span id="star_startDate[0]" style="display: none; color: red">*</span>
                        <input name="startDate[0]" id="startDate[0]" value="2015-06-02" readonly="" class="forDatePicker hasDatepicker" size="14" onchange="changeEndDate(0); calculateDaysDuration('@[0]', 0); "type="text">  
</label>
Run Code Online (Sandbox Code Playgroud)

  • 很好的解决方案并得到很好的解释 (2认同)