如何在jQuery中的<p>元素中正确获取<i>元素?</p> </i>

时间:2013-12-14 12:21:23

标签: javascript jquery html

我试图从段落中的i(斜体)元素中获取文本 这段代码:

$('p').each(function(j, element){
    if($(element).is("i")){
        console.log("The value is: "+$(element).text());
    }
});

但是流量永远不会进入if条件。

我做错了什么?

提前致谢!

6 个答案:

答案 0 :(得分:2)

$('p').each(function(j, element){
    if($(element).is("i")){
        console.log("The value is: "+$(element).text());
    }
});
每个()处理程序element内的

引用p元素,因此它永远不会满足元素选择器条件i$(element).is("i"))所以if条件永远不会执行

如果您想在i中获取p元素的值,请使用后代选择器

$('p i').each(function(j, element){
    console.log("The value is: "+$(element).text());
});

答案 1 :(得分:1)

只需在选择器

中使用i即可
$('p i')

答案 2 :(得分:1)

您可以使用后代选择器

 $('p i')

.find()方法

 $('p').find("i")

要在i中获取p元素的值,您可以使用以上任一方法

$('p').find("i").each(function(j, element){
    console.log("The value is: "+ $(element).text());
});

答案 3 :(得分:1)

您可以使用 find()

 $('p').find("i")

例如

$('p').find("i").each(function(j, element)
{
    // DO Somthing
});

答案 4 :(得分:1)

试试这个:

$('p').each(function(j){
    if($(this).children('i')){
        console.log("The value is: "+$(this).text());
    }
});

答案 5 :(得分:1)

$('p').children('i').each(function(j, element){
  console.log("The value is: "+$(element).text());
});

DEMO: http://jsfiddle.net/JyxL4/