Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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 如何在jquery中使用$(this)获取元素的第一个子元素? 一些文本 更多的文字 $(文档).ready(函数(){ $(“.badge”)。单击(函数(){ 变量a=$(this+':first child'); var iconDiv=a.html(); 警报(iconDiv); }); });_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何在jquery中使用$(this)获取元素的第一个子元素? 一些文本 更多的文字 $(文档).ready(函数(){ $(“.badge”)。单击(函数(){ 变量a=$(this+':first child'); var iconDiv=a.html(); 警报(iconDiv); }); });

Javascript 如何在jquery中使用$(this)获取元素的第一个子元素? 一些文本 更多的文字 $(文档).ready(函数(){ $(“.badge”)。单击(函数(){ 变量a=$(this+':first child'); var iconDiv=a.html(); 警报(iconDiv); }); });,javascript,jquery,html,Javascript,Jquery,Html,在上面的jquery代码中,我希望每个div都有类badge。 简而言之,我希望每个div的第一个子元素都引用$(this) 谢谢。您可以在此处申请,因此请使用: <div id="idname"> <div class="badge"> <div class="icon abc_badge"></div> <div class="badges_info"> <h4>some text</h4>

在上面的jquery代码中,我希望每个
div
都有类
badge
。 简而言之,我希望每个div的第一个子元素都引用
$(this)

谢谢。

您可以在此处申请,因此请使用:

<div id="idname">
<div class="badge">
  <div class="icon abc_badge"></div>
  <div class="badges_info">
   <h4>some text</h4>
  </div>
 </div>
<div class="badge">
  <div class="icon xyz_badge"></div>
  <div class="badges_info">
   <h4>some more text</h4>
  </div>
 </div>
</div>

<script>
    $(document).ready(function() {
        $(".badge").click(function () {
            var a = $(this+':first-child');
            var iconDiv = a.html();
            alert(iconDiv);
        });
    });
</script>
而不是:

var a = $(this).find(':first-child');

您可以将
children()
first()
组合使用

.children()方法与.find()的不同之处在于,它只包含.children() 沿DOM树向下移动一个级别,而.find()可以遍历 向下选择多个级别以选择子元素(子元素, 等等)以及

可以这样使用:

$(this).children().first()

使用第n个子项的子项,如下所示:

$(document).ready(function()
{
    $(".badge").click(function () {
        var a = $(this).find(':first-child');
        var iconDiv = a.text();
        alert(iconDiv);
    });
});

似乎您需要外部TML:

演示:


看看
jQuery.find()
,似乎
.find()
然后被翻译成了

此代码有效

$(document).ready(function()
{
    $(".badge").click(function () {
        var a = $(this).find(':first-child');
        var iconDiv = a.text();
        alert(iconDiv);
    });
});
<script>
    $(document).ready(function(){
        $(".badge").click(function () {
            var a = $(this).children(':nth-child(0)');
            var iconDiv = a.html();
            alert(iconDiv);
        });
    });
</sctipt>
<script>
        $(document).ready(function(){
            $(".badge").click(function () {
                var a = $(this).children().first();
                var iconDiv = a.html();
                alert(iconDiv);
            });
        });
    </sctipt>
$(".badge").click(function () {
    var $a = $(this).find(':first-child');
    var h = $a[0].outerHTML;
    alert(h);
});
var a = $(':first-child',this);