prop()不更改id值

时间:2018-10-23 16:12:28

标签: javascript jquery html5

这是我的代码部分,与我的工作不完全相同。一切顺利直到

data.find("#idToSet").prop("name","post"+element.idpost);

我不明白为什么这部分代码没有执行。我也尝试过attr(),但还是没有。我检查了HTML,标记正确无误,但仍然没有获得name属性集的值。

let params = {};
  params.action = "checkpost";
  let db = new Connection(params,"/php/connection.php",false);
  db.go().then(function(data){
    if (data.result == "success"){
      (data.posts).forEach(function(element){
        prepareView("post").then(function(data){
          data = $(data);
          data.find("#postitle").text(element.titolo);
          data.find("#postcontent").text(element.contenuto);
          data.find("#postdate").text("Creato da "+element.nickname+" il "+element.postdate);
          data.find("#idToSet").prop("name","post"+element.idpost);
          $("#postree").append(data);
        });

      });
    }
  });

更新

以下是有关该问题的HTML:

<div id="idToSet" name="" class="blog-post shadow-sm mypost">
  <h4 id="postitle" class="blog-post-title"></h4>
  <p id="postdate" class="blog-post-meta"> <a id="postautor" href="#"></a></p>

  <p id="postcontent"></p>

</div>

1 个答案:

答案 0 :(得分:1)

鉴于问题python script.pydata的HTML是根节点,因此#idToSet在您 元素内查找时不起作用您正在寻找。

要解决此问题,请在该行中使用find()

filter()

我还建议您也从data.filter("#idToSet").prop("name", "post" + element.idpost); 元素中删除id,因为当前您的代码正在循环中复制它们,这将创建无效的HTML。要将此方法添加到上面的行中:

data