Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.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
Javascript 如何获取第一个内部元素?_Javascript_Jquery - Fatal编程技术网

Javascript 如何获取第一个内部元素?

Javascript 如何获取第一个内部元素?,javascript,jquery,Javascript,Jquery,因此,我想获得此中的第一个标记。这真让我发疯。谢谢你的帮助 HTML <div id="PGD" class="album" onmouseover="load(this)"> <a class="dl" href="#">DOWNLOAD</a> </div> 请参阅findjQuery命令 $('#PGD').find('a:first

因此,我想获得此
中的第一个
标记。这真让我发疯。谢谢你的帮助

HTML

<div id="PGD" class="album" onmouseover="load(this)">
    <a class="dl" href="#">DOWNLOAD</a>
</div>
请参阅
find
jQuery命令

$('#PGD').find('a:first')
事实上,我不理解这个问题,所以我正在尝试更正您的函数,让您明白:

function load(dl)
{  

// var ID = $(dl).attr('id');
// var elemnt = $('ID:first').attr('id'); // Here is error-mast be like $(ID+':first')

 var ID = $(dl).attr('id');
 var elemnt = $(ID).find('*:first').attr('id'); 

} 
我提供了
dl
$('#PGD')
。但是子元素
A
没有属性
id
,您要查找什么

另见:

这将为您提供第一个子级“a”标记,但不会提供子级标记。例如

     <div id="log">
        <p><a href="foo">Foo</a></p>
        <a href="hello">Hello</a>
        <a href="how">Hello</a>
     </div>


将为您提供:
非jQuery:(以前未使用jQuery标记,因此我将其包括在内)

  • 如果只想获取第一个子元素:

    var element = document.getElementById('PGD').children[0];
    
  • 如果要获取第一个锚元素:

    var element = document.getElementById('PGD').getElementsByTagName('a')[0];
    
使用jQuery:

var element = $('#PGD').find('a:first');
// or, to avoid jQuery's pseudo selecors:
// var element = $('#PGD').find('a').first();
实际上你的函数可以是

function load(dl)
{    
   var element = $(dl).find('a:first'); 
} 
更新:

在使用jQuery时,我建议不要在HTML标记中附加click处理程序。以jQuery的方式执行此操作:

$(function() {
    $("#PGD").mouseover(function() {
         $(this).find('a:first').attr('display','inline');  
        alert($(this).find('a:first').attr('display'));
    });
});
以及您的HTML:

<div id="PGD" class="album">
     <a class="dl" href="#">DOWNLOAD</a>
</div>


​你自己看看:

是的,我试过了,但还是不起作用。我不打算做第二个,因为它不够动态。你可以安装chrome、firefox或safari通过控制台输出你的对象。在那之后,你会更清楚。PS:在Chrome中是Ctrl+Iyes,我试过这个。没有爱。我试图做的是将链接的display属性从none设置为inline。所以我在做你所做的关于.attr()attached.function load(dl){var element=$(dl).find('a:first').attr('display','inline');}@creocare:请看我更新的答案。前一个也应该可以,但可能您没有在全局范围中定义
load
。始终查看浏览器的控制台以检查错误。如果有带有“display:none”的锚定标记,只需在jQuery中的元素上使用show()函数。除非必要,否则无需修改“显示样式”属性。谢谢您的帮助。我以前也从未见过jsfiddle.net,所以这很酷。
function load(dl)
{    
   var element = $(dl).find('a:first'); 
} 
$(function() {
    $("#PGD").mouseover(function() {
         $(this).find('a:first').attr('display','inline');  
        alert($(this).find('a:first').attr('display'));
    });
});
<div id="PGD" class="album">
     <a class="dl" href="#">DOWNLOAD</a>
</div>