Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 获取类名,然后查找id与类名匹配的元素_Jquery_Class_Element - Fatal编程技术网

Jquery 获取类名,然后查找id与类名匹配的元素

Jquery 获取类名,然后查找id与类名匹配的元素,jquery,class,element,Jquery,Class,Element,我正在尝试执行一项相当简单的任务:获取一个元素的类名,并使用与类名匹配的id查找和切换另一个元素的可见性。类名和id都是由php生成的,并且是相同的 HTML <div class="button"> <a href="#" class="generatedName"></a> </div> <div id="generatedName"> <p>Content</p> </div> 我还

我正在尝试执行一项相当简单的任务:获取一个元素的类名,并使用与类名匹配的id查找和切换另一个元素的可见性。类名和id都是由php生成的,并且是相同的

HTML

<div class="button">
  <a href="#" class="generatedName"></a>
</div>

<div id="generatedName">
  <p>Content</p>
</div>
我还尝试获取生成的类,并使用变量代替this.class:

var button = jQuery('.button a').attr('class');
我一点运气都没有。如蒙协助,将不胜感激。提前谢谢

您需要使用来获取类名:

jQuery('#' + $(this).attr('class')).toggle();
但是,如果元素有两个或多个类,代码将无法工作,您最好应用
data-*
HTML5属性:

<div class="button">
    <a href="#" data-target="generatedName"></a>
</div>
jQuery('#' + $(this).data('target')).toggle();
旁注:
id
必须是唯一的,您只需使用
而不是
div

在javascript(dom元素)中,
属性是

这项工作:

$('.button a').click(function() {
    var $class = $(this).attr('class');
    $('div#' + $class).toggle();
});
jQuery('#' + this.className).toggle();
$('.button a').click(function() {
    var $class = $(this).attr('class');
    $('div#' + $class).toggle();
});