JS - replaceWith不工作

时间:2017-03-03 10:18:44

标签: javascript php jquery

我正在尝试使用静态值更新div,但replaceWith似乎没有我想的那么协作。
这是功能:

updatePeopleNumber: function(peopleNumber) {
   var numberItem = jQuery("#visitors-container");
   numberItem.find("vn").replaceWith(peopleNumber);
}

再次:peopleNumber是在调用此函数之前设置的静态值。这是HTML:

<div id="row-2" class="row">
        <div id="visitors-container">
            <div id="visitors-number" class="vn"><?php echo getPeopleNumber(); ?></div>
            <div id="visitors-text">visitors today</div>
        </div>
</div>

出于安全原因,PHP代码存在:如果没有设置值,那么PHP就会进来。但是我需要js代码用div替换div中的值...
如果有人想知道:不,删除PHP代码并不能解决问题......

3 个答案:

答案 0 :(得分:2)

虽然您不使用replaceWith方法的返回值,但您可以使用jquery.html setter

来代替它
  numberItem.find(".vn").html(peopleNumber);

您还错过了班级名称numberItem.find(".vn")

的点数

答案 1 :(得分:0)

你可以这样做:

<div id="row-2" class="row">
    <div id="visitors-container">
        <div id="visitors-number" class="vn"><span><?php echo getPeopleNumber(); ?></span></div>
        <div id="visitors-text">visitors today</div>
    </div>
 </div>

的JavaScript

$('#visitors-number').find("span").text(peopleNumber);

答案 2 :(得分:0)

find("vn")的选择器出错。您忘记了班级选择器.

updatePeopleNumber: function(peopleNumber) {
   var numberItem = jQuery("#visitors-container");
   numberItem.find(".vn").replaceWith(peopleNumber);
}