将div包装为javascript输出

时间:2018-06-25 16:20:24

标签: javascript

基本上我需要做的是包装此代码输出

<a id="show_selected">Click to Show</a>
<div id="selected"></div>

<script type="text/javascript">
    function showSelect(){
        $("#show_selected").bind("click", function (e) {
            e.preventDefault();
            $('#selected').text($("#fvip").mapster("get"));
        });
    }
    showSelect();
</script>

现在很简单

<div id="selected">001,002,003,004</div>

成为

<div="selected">
   <div class="something">001</div> 
   <div class="something">002</div> 
   <div class="something">003</div> 
   <div class="something">004</div>
</div>

我该怎么做?那可能吗?非常感谢

在下面的brk帮助下进行编辑:

我尝试将其合并到我的代码中,如下所示:

    function showSelect(){
        $("#show_selected").bind("click", function (e) {
        e.preventDefault();
        $('#selected').text($("#fvip").mapster("get"));
            let wrapContainer = ""
            let stringArray = $("#selected").text().trim().split(' ');
            $("#selected").empty()
            stringArray.forEach(function(item, index) {
            let wrapContainer = $('<div class="test">' + item + '</div>');
            $("#selected").append(wrapContainer)
            });
        });
    }
    showSelect();

但是我得到的是:

<div id="selected">
    <div class="test">001,002,003,004</div>
</div>

我在哪里做错了?

1 个答案:

答案 0 :(得分:0)

您可以获取文本并将其拆分。然后循环遍历并将其放入div中。然后将div附加到父元素

let wrapContainer = ""
let stringArray = $("#original").text().trim().split(' ');
$("#original").empty()
stringArray.forEach(function(item, index) {
  let wrapContainer = $('<div class="test">' + item + '</div>');
  $("#original").append(wrapContainer)
});
.test {
  color: green
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="original">001 002 003 004</div>