Jump to content
programadorweb2016

setAttributeNode is not defined comando for

Recommended Posts

function atira(x0,y0,x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6){
	var t = [], att = [], attt = [];
	for(var i=0; i<7; i++){
		t[i] = document.createElement("div");
		att[i] = document.createAttribute("class");
		att[i].value = "tiroJog";
		t[i] = setAttributeNode(att[i]);
		attt[i] = document.createAttribute("style");
		attt[i].value = "top:"+y[i]+"px;left:"+x[i]+"px";
		t[i].setAttributeNode(attt[i]);
		document.body.appendChild(t[i]);
	}
}

Boa noite, estou estudando javascript e implementando meus conhecimentos tentando criar jogos, ai me deparei com esse seguinte erro, vi no console e esta dando o seguinte erro setAttributeNode is not defined, ja tentei colocar as variaveis fora da funçao mas acho que isso não tem nada a ver pq só uso essas variaves nessa funçao, estou tentando a um tempao entender o motivo do erro, se alguem puder me explicar fico muito grato!?

Share this post


Link to post
Share on other sites

@Maujor

Funciono a primeira linda da class, ja a do style não funciono, msm eu tirando a linha do style cria um style altomatico com apenas o top, isso é normal?

 

Sem o for funciona normal mas o código fica muito grande ...

 

function atira(x,y,x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6){
	
	
	var t = document.createElement("div");
	var t1 = document.createElement("div");
	var t2 = document.createElement("div");
	var t3 = document.createElement("div");
	var t4 = document.createElement("div");
	var t5 = document.createElement("div");
	var t6 = document.createElement("div");
	
	var att1 = document.createAttribute("class");
	var att2 = document.createAttribute("class");
	var att3 = document.createAttribute("class");
	var att4 = document.createAttribute("class");
	var att5 = document.createAttribute("class");
	var att6 = document.createAttribute("class");
	var att7 = document.createAttribute("class");
	att1.value = "tiroJog";
	att2.value = "tiroJog";
	att3.value = "tiroJog";
	att4.value = "tiroJog";
	att5.value = "tiroJog";
	att6.value = "tiroJog";
	att7.value = "tiroJog";
	t.setAttributeNode(att1);
	t1.setAttributeNode(att2);
	t2.setAttributeNode(att3);
	t3.setAttributeNode(att4);
	t4.setAttributeNode(att5);
	t5.setAttributeNode(att6);
	t6.setAttributeNode(att7);
	
	var attt1 = document.createAttribute("style");
	var attt2 = document.createAttribute("style");
	var attt3 = document.createAttribute("style");
	var attt4 = document.createAttribute("style");
	var attt5 = document.createAttribute("style");
	var attt6 = document.createAttribute("style");
	var attt7 = document.createAttribute("style");
	attt1.value = "top:"+y+"px;left:"+x+"px";
	attt2.value = "top:"+y1+"px;left:"+x1+"px";
	attt3.value = "top:"+y2+"px;left:"+x2+"px";
	attt4.value = "top:"+y3+"px;left:"+x3+"px";
	attt5.value = "top:"+y4+"px;left:"+x4+"px";
	attt6.value = "top:"+y5+"px;left:"+x5+"px";
	attt7.value = "top:"+y6+"px;left:"+x6+"px";	
	t.setAttributeNode(attt1);
	t1.setAttributeNode(attt2);
	t2.setAttributeNode(attt3);
	t3.setAttributeNode(attt4);
	t4.setAttributeNode(attt5);
	t5.setAttributeNode(attt6);
	t6.setAttributeNode(attt7);
	
	document.body.appendChild(t);
	document.body.appendChild(t1);
	document.body.appendChild(t2);
	document.body.appendChild(t3);
	document.body.appendChild(t4);
	document.body.appendChild(t5);
	document.body.appendChild(t6);
}

 

Share this post


Link to post
Share on other sites

@Maujor

Agora deu certo, eu tinha tentado daquela forma acima que tinha me passado, mas nao estava dando acho que era por causa das aspas duplas, as var x y dava indefinido tb, acho que era pq nao tinha nenhum valor no array delas, agora funciono perfeitamente e ainda por cima me fez aprender coisas novas, muito obrigado por essa incrivel experiencia :thumbsup:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Anonicah
      Olá preciso de ajuda com esse exercício. Montei até a parte de formulário + validação de javascrip no dreamweaver mas buguei com o resto. O que eu fiz:
       

      <html>
      <head>
      <title> Formulário CPF validado com Java Script </title>
          
          <script language="javascript" type="text/javascript">
      function validar() {
      var cpf = form1.cpf.value;
          
      if (cpf == "") {
      alert('Preencha o campo com seu cpf');
      form1.cpf.focus();
      return false;
      }
          
      }
      </script>
          
          
      </head>
      <body>
      <form name="form1" action="enviar.php" method="post">
      CPF:
      <input name="cpf" type="text"><br /><br />
      <input type="submit"  onclick="return validar()">
      </form>
      </body>
      </html>
       
       
      EXERCÍCIO
      Criar um formulário simples em html com um único campo CPF;
      Fazer uma validação em javascript antes de fazer o post;
      Consumir o WS https://bi.vidaclass.com.br/utils para consultar informações do CPF enviado pelo form;
      Do retorno obtido exibir na tela:
      Nome, email, telefone
      Se tem compra em saude: Sim | Não
      Quantas compras: (5) ex.
      Se tem farma: Sim | Não
      Se tem dependente: Sim | Não
      Qtd. de dependentes: (2) ex.

      Obtem o token para consumir os endpoints;
      https://bi.vidaclass.com.br/auth
      {
          "company_id": 1,
          "username": "webmaster@vidaclass.com.br",
          "password": "Teste20170705"
      }
      Endpoint para consultar o CPF
      https://bi.vidaclass.com.br/utils
      {
          "action": 4,
          "key": {
              "cpf": 25383193820
          }
      }
    • By iagomonteiro
      Estou criando um jogo de cartas em web, o jogo é bem estilo HS, e estou tendo problemas para adicionar condições de movimentação no drag and drop. Como vocês podem ver eu tenho uma variável mana, e a movimentação das cartas só seria possível de acordo com ela, porém quando adiciono as condições o D&D acaba nem se movimentando mais, pensei em chamar cada função do d&d dentro de uma condição, mas também não funcionou, alguém pode ajudar?
       
      JS
      // Jogador 1
      const fillplace1 = document.querySelector('#fillplace1');
      const fillplace2 = document.querySelector('#fillplace2');
      const fillplace3 = document.querySelector('#fillplace3');
      var fill;
      const empties = document.querySelectorAll('.empty');
      fillplace1.addEventListener('dragstart', enterstart);
      fillplace2.addEventListener('dragstart', enterstart);
      fillplace3.addEventListener('dragstart', enterstart);
      for (const empty of empties) {
          empty.addEventListener('dragover', dragOver);
          empty.addEventListener('dragenter', dragEnter);
          empty.addEventListener('dragleave', dragLeave);
          empty.addEventListener('drop', dragDrop);
      }
      function enterstart(){
          fill = this;
      }
      function dragOver(e) {
          e.preventDefault();
      }
      function dragEnter(e) {
          e.preventDefault();
          this.className += ' hovered';
      }
      function dragLeave() {
          this.className = 'empty';
      }
      function dragDrop(id) {
          this.className = 'empty';
          this.append(fill);
      }
       
      HTML
      <link rel="stylesheet" href="../css/jogar.css" />
       
      <div id="barraGeneral">
          <img src="../imagens/Campo/barraGeneralalfa.png" id="imggeneral" />
      </div>
       
      <div id="persona">
          <img src="../imagens/Personagem/cucapersonagem.png" id="imgpersonagem" />
      </div>
       
      <button id="btpassar" onclick="cont();">Passar Rodada</button>

      <H1 id="campomana">1</H1>
       
      <!-- Mesa das cartas jogador 1-->
      <div class="empty" id="emptyplace1">
      </div>
      <div class="empty" id="emptyplace2">
      </div>
      <div class="empty" id="emptyplace3">
      </div>
      <div class="empty" id="emptyplace4">
      </div>
      <div class="empty" id="emptyplace5">
      </div>
       
      <!-- Mão do jogador 1 -->
      <div class="emptyhand1">
          <div class="fill" draggable="true" id="fillplace1">
              <img src='../imagens/Sorteio/aa.png' draggable='true'>
          </div>
      </div>
       
      <div class="emptyhand2">
          <div class="fill" draggable="true" id="fillplace2">
              <img src='../imagens/Sorteio/aa2.png' draggable='true'>
          </div>
      </div>
       
      <div class="emptyhand3">
          <div class="fill" draggable="true" id="fillplace3">
              <img src='../imagens/Sorteio/aa2.png' draggable='true'>
          </div>
      </div>
       
    • By Anderson Maciel
      Boa tarde pessoal,

      Estou quebrando a cabeça para resolver um problema, tenho uma div dinâmica que carrega uma <table> em uma das colunas deveria apresentar o componente Switchery, esta <table> é montada a partir de uma função PHP que faz o select em uma tabela do banco de dados conforme abaixo:
       
      echo '<table class="table table-hover"> <thead> <tr> <th>Nome</th> <th>Agrupamento</th> <th>Ativo</th> </tr> </thead> <tbody>'; foreach($data as $row) { If ($row['ativo'] == 1) {$vativochk = "checked";} else {$vativochk = "";} echo '<tr> <td>'.$row['nome'].'</td> <td>'.$row['agrupamento'].'</td> <td><input type="checkbox" name="ativo_grid" class="js-switch" '.$vativochk.' disabled="disabled"></td> </tr>'; } echo ' </tbody> </table>'; Aqui está o Ajax que chama e retorna atualizando a DIV:
      //funcoes do grid dos graficos function atualiza_grid_graficos() { $.ajax({ type: "POST", url: "hubfuncind.php", data: { id_tabindicadores_paineis: $('#id_tabindicadores_paineis').val(), acao: "gridgraficos" }, success: function(data) { $('#conteudo').html(data); } }); } O retorno vem certinho, mas apenas o componente Switchery está vindo desconfigurado, ou seja vem um checkbox normal (html).

      O que é mais incrível é que neste mesmo formulário mais acima tenho este mesmo componente funcionando normalmente, somente dentro da DIV dinâmica é que fica desconfigurado conforme imagem anexa.

      Será que alguém já passou por isso?

    • By Dallas20
      Então pessoal,  estou fazendo um pequeno projeto para me aperfeiçoar em javascript e acabei me deparando com o seguinte problema. Eu queria pegar o valor de um input quando o usuário desse um click em um botão e isso foi simples de fazer, porém ao utilizar conceitos de POO e aplicando classes no javascript não consigo fazer essa ação. Gostaria de saber se isso é possível? E como fazer?
       
      Segue o code HTML:
      <!DOCTYPE html> <html> <head> <meta charset="UTF-8"/> <meta name="author" content="Dallas"> <meta http-equiv="refresh" content="1"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="../CSS/withdrawal.css" rel="stylesheet"> <script src="../javascript/withdrawal.js"></script> <title>Banco do Brasil</title> </head> <body> <h1>Quanto deseja sacar ?</h1> <input type="number" id="cashInReal"> <button type="button" onclick="alter()"> AQUI</button> </body> </html> code javascript:
      class withdrawal { alter() { alert(document.getElementById('cashInReal').value); } } Desde já muito obrigado.
       
      Att. Dallas
    • By Anderson Maciel
      Boa tarde pessoal,

      Estou quebrando a cabeça para resolver um problema, tenho uma div dinâmica que carrega uma <table> em uma das colunas deveria apresentar o componente Switchery, esta <table> é montada a partir de uma função PHP que faz o select em uma tabela do banco de dados conforme abaixo:
       
      echo '<table class="table table-hover"> <thead> <tr> <th>Nome</th> <th>Agrupamento</th> <th>Ativo</th> </tr> </thead> <tbody>'; foreach($data as $row) { If ($row['ativo'] == 1) { $vativochk = "checked"; } else { $vativochk = ""; } echo '<tr> <td>'.$row['nome'].'</td> <td>'.$row['agrupamento'].'</td> <td><input type="checkbox" name="ativo_grid" class="js-switch" '.$vativochk.' disabled="disabled"></td> </tr>'; } echo '</tbody> </table>'; Aqui está o Ajax que chama e retorna atualizando a DIV:
       
      function atualiza_grid_graficos() { $.ajax({ type: "POST", url: "hubfuncind.php", data: { id_tabindicadores_paineis: $('#id_tabindicadores_paineis').val(), acao: "gridgraficos" }, success: function(data) { $('#conteudo').html(data); } }); } O retorno vem certinho, mas apenas o componente Switchery está vindo desconfigurado, ou seja vem um checkbox normal (html).

      O que é mais incrível é que neste mesmo formulário mais acima tenho este mesmo componente funcionando normalmente, somente dentro da DIV dinâmica é que fica desconfigurado conforme imagem anexa.

      Será que alguém já passou por isso?

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.