prop () не меняет значение id - PullRequest
0 голосов
/ 23 октября 2018

Вот часть моего кода, которая работает не так, как я.Все идет отлично, пока

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

Я не понимаю, почему эта часть кода не выполняется.Я тоже пробовал attr (), но все равно ничего.Я проверил HTML, и разметка верна, но все еще не получает значение для установленного атрибута имени.

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 голосов
/ 23 октября 2018

Учитывая, что HTML data в вашем вопросе #idToSet является корневым узлом, следовательно, find() не будет работать, так как вы ищете внутри элемента, который вы пытаетесь найти.

Чтобы решить эту проблему, используйте вместо этой строки filter():

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

Я бы также предложил удалить id из элемента data, так как в настоящее время вашкод дублирует их в цикле, который создаст недопустимый HTML.Для этого добавьте этот метод в вышеприведенную строку:

.removeAttr('id');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...