使用单击事件获取数据属性

时间:2018-03-19 20:16:23

标签: javascript jquery html custom-data-attribute

我想使用data-attribute获取div值。在这种情况下,data-pdf。正如您在我的示例中所看到的,在我单击任一选项后,值未定义。

我做错了什么?此外,值会根据我点击的标题更改吗?我只希望一次存储一个值。



$(".pdfWrap").on("click", function (event) {
	let pdfChoice = $(this).find('.pdfWrap').data('pdf');
	console.log(pdfChoice);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="pdfWrap" data-pdf="Linear Structure">
				<h3 class="pdfTitle">Linear Structure</h3>
	</div><div class="pdfWrap" data-pdf="Dynamic Structure">
				<h3 class="pdfTitle">Dynamic Structure</h3>
	</div>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:2)

您正在const auxHash = {}; myArray.filter(house => { if(house.members === 3 && auxHash[house.id]) { return false; } else { auxHash[house.id] = true; return true; } }); 注册点击处理程序,因此回调内的pdfWrap仅为this元素。您不需要额外执行pdfWrap而只需获取find值。

data-attribute
$(".pdfWrap").on("click", function(event) {
  let pdfChoice = $(this).data('pdf');
  console.log(pdfChoice);
});

答案 1 :(得分:0)

Here's how you can do it without jQuery in the event handler

&#13;
&#13;
#!/usr/bin/php
<?php
$iloop = "0"; /* Outside the loop */
while (true){    
for ($i=0;$i<=109;$i++){
  $warn = "Program running hold on!!\r";
  if (strlen($warn) === $iloop+1){
    $iloop = "0";
  }
  $warn = str_split($warn);
  $iloop++;
  $warn[$iloop] = "\033[$i;7m".strtoupper($warn[$iloop]);
  echo " \033[7m".implode($warn);
  usleep(90000);
}}
&#13;
$(".pdfWrap").on("click", function(event) {
  let pdfChoice = this.dataset.pdf;
  console.log(pdfChoice);
});
&#13;
&#13;
&#13;

相关问题