无法使用jQuery检索属性

时间:2017-10-16 02:05:55

标签: javascript jquery html attributes console.log

我有以下点击功能。

$(".charPortait").on("click", function(event){
    console.log(this.value);
});

日志显示"未定义。"为了找出它可能没有获得价值的原因,我接下来尝试了这个:

$(".charPortait").on("click", function(event){
    console.log(this);
});

此日志:

<div id="TomiasPortrait" class="col charPortait" value="Tomias">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed 
    do eiusmod tempor incididunt ut labore et dolore magna aliqua.
</div>

我不明白为什么我没有得到属性&#34;值&#34;正确记录。

5 个答案:

答案 0 :(得分:0)

$(".charPortait").on("click", function(event){
    console.log($(this).attr("value"));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<div id="TomiasPortrait" class="col charPortait" value="Tomias">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed 
    do eiusmod tempor incididunt ut labore et dolore magna aliqua.
</div>

答案 1 :(得分:0)

  1. Div没有价值。
  2. 使用data-*
  3. 使用.attr(data-*)
  4. 获取值

    $(".charPortait").on("click", function(event){
        console.log($(this).attr('data-value'));
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div id="TomiasPortrait" class="col charPortait" data-value="Tomias">
        Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed 
        do eiusmod tempor incididunt ut labore et dolore magna aliqua.
    </div>

答案 2 :(得分:0)

您可以使用数据属性来获取值。请检查以下示例将适合您。

<div id="TomiasPortrait" class="col charPortait" data-value="Tomias">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed 
    do eiusmod tempor incididunt ut labore et dolore magna aliqua.
</div>

$(document).ready(function() {
  $(".charPortait").on("click", function(){
    console.log(this.getAttribute('data-value'));
 });
});

答案 3 :(得分:0)

日志显示&#34;未定义。&#34;因为它表示尚未为变量赋值。

因此,您必须使用attr()来获取该属性的值。在HTML中,没有value属性,因此您可以使用data-然后连接您的数据名称。见下文。

&#13;
&#13;
$(".charPortait").on("click", function(){
    console.log($(this).attr('data-value'));
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

 <div id="TomiasPortrait" class="col charPortait" data-value="Tomias">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed 
    do eiusmod tempor incididunt ut labore et dolore magna aliqua.
</div>
&#13;
&#13;
&#13;

答案 4 :(得分:0)

您可以使用解决方案

#include <stdlib.h>
#include <stdio.h>
#include <omp.h>

int main(int argc, char **argv) {
  int n = atoi(argv[1]);
  int num_threads = atoi(argv[2]);
  omp_set_num_threads(num_threads);

  unsigned long long sum = 0;
  double begin_time = omp_get_wtime();
  #pragma omp parallel
  {
    unsigned int seed = 42 + omp_get_thread_num();
    #pragma omp for reduction(+ : sum)
    for (int i = 0; i < n; ++i) {
      sum += rand_r(&seed);
    }
  }
  double end_time = omp_get_wtime();

  printf("%fs\n", end_time - begin_time);
  return EXIT_SUCCESS;
}
$(".charPortait").on("click", function(event){
    console.log($(this).attr('value'));
});

希望这会对你有所帮助。