我有一个像这样的HTML框
<div class="results">
, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
</div>
我想在页面加载时,我得到这个div框:
<div class="results">
,
</div>
我的意思是每两个,
(, ,
)替换为,
,最后,如果其中2 ,
在彼此之后重复,则会将其更改为一个(,
)并且最后只有其中一个应该存在,仅此而已。
此外,
div可以是这样的:<div class="results">
, , , , hello , hi , one , two , three , , , , , , , , , , , , , , , , , , , , , , , , ,
</div>
所以我需要这个:
<div class="results">
hello , hi , one , two , three
</div>
我们怎样才能用Jquery做到这一点?
答案 0 :(得分:2)
你可以使用这样的东西
while ($("div.results").html().indexOf(", ,") != -1) {
$("div.results").html($("div.results").html().replace(", ,",","))
}
答案 1 :(得分:1)
这是一个详细的脚本,可以向您展示在javascript中处理字符串的基础知识。 它可以写得更短,但这应该清楚地显示所采取的步骤。
<div class="results">
, , , , , , one , two , three , , , , , , , , , , , , , , test , , , , , , , hi , , , ,
</div>
<div id="result">
</div>
<script>
$(function () {
var items = $(".results").text().split(","); // split the content of the "results" div into an array
var result = []; //we'll put the results here
items.forEach(function (item) { //for each of the items in the original string
if (item.trim() != "") // if it's not empty after removing whitespace
{
result.push(item.trim()); //add it to the result array (and remove extra whitespace around it)
}
});
if (result.length > 0) //if there was at least one item
{
$("#result").text(result.join(",")); //join the items into a string using a comma character as a separator and put it into the second div
}
else
{
$("#result").text(","); // there were no non-blank items, put single comma character into the second div, per your request
}
});
</script>
Here也是一个示范。 这是一种比替换字符串更好的方法,因为它处理任何空格并删除前导/尾随逗号