jQuery text()返回不需要的字符

时间:2014-01-30 11:01:38

标签: javascript jquery

您好我有很多行具有这种结构:

 <div class="row">
        <div class="input-group col-lg-1" >
            <span class="input-group-addon">
                <input type="checkbox">
            </span>
            <span id="value">
                @Html.DisplayFor(modelitem => item.DeviceInstanceId)
            </span>
        </div>
        *
        *
        *
</div>

其中@Html.DisplayFor(modelitem => item.DeviceInstanceId)是一个数字。

我获得了与选中复选框相关联的跨度值。 使用此代码:

   $(document).ready(function () {
    $("#reservations").click(function () {
        var Ids = new Array();
        $(".table input:checked").each(function () {
            Ids.push(($(this).parentsUntil("row").children("#value").text()));

        })
        console.log(Ids);
    });

});

Ids看起来像这样:

["↵                    38↵                ", "↵                    40↵                ", "↵                    41↵                "] 

我应该如何改进我的JS代码以摆脱那些进入和空白?

2 个答案:

答案 0 :(得分:3)

你可以:

  • Trim the value

    Ids.push($.trim($(this).parentsUntil("row").children("#value").text()));
    

    删除前导和尾随空白字符,或

  • 编写HTML,使其不包含换行符和空格:

    <span id="value">@Html.DisplayFor(modelitem => item.DeviceInstanceId)</span>
    

答案 1 :(得分:0)

.children('#value')

只会向下看一级

.find('#value')

将看起来不止一个级别。

在你的情况下,id为“value”的范围实际上比“row”类

低两级