如何使用javascript在sortable中找到value的项目

时间:2012-06-21 18:46:59

标签: javascript jquery jquery-ui jquery-ui-sortable

我有一个 sortable ,它是从JSON文件加载创建的。 现在我要删除一个项目。

我从textarea收到了我必须取消的元素名称。 我保存在变量namdel中。 使用for循环,我将把这个变量与sortable的名称进行比较。

sortable 的HTML代码:

<div id="sortparam">

<ul style="" class="ui-sortable" id="sortable">
    <li style="" id="1" class="ui-state-default"> <span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Singular sensation</li>
    <li style="" id="2" class="ui-state-default"> <span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Beady little eyes</li>
    <li style="" id="3" class="ui-state-default"> <span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Little birds </li>
</ul>

</div>

问题是如何读取项目,因为如果我阅读:

var contapara=1;
var l = document.getElementById(contapara).innerHTML;
alert(l);

程序在警告窗口中写入:

<span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Little birds

我只想要Little birds

3 个答案:

答案 0 :(得分:3)

试试这个:

var contapara = 3;
var l = $.trim($('#'+contapara).text());
alert(l); // Little birds

我没有使用document.getElementById,而是使用jQuery来获取元素。我也使用.text()innerTexttextContent)代替.html()innerHTML)。

答案 1 :(得分:3)

var contapara=1;
var regex = /(<([^>]+)>)/ig;
var l = document.getElementById(contapara).innerHTML.replace(regex, "");
alert(l);

正则表达式是我们的朋友:)

答案 2 :(得分:2)

使用普通的javascript(在chrome,IE,FF和opera中测试)

var contapara=3;
var n = document.getElementById(contapara).childNodes;
for(i=0;i<n.length;i++)
{
    if(n[i].nodeType==3 && n[i].nodeValue!=' ') alert(n[i].nodeValue);
}

DEMO.