如何获得正确的类名innerHTML内容?

时间:2011-04-29 15:08:34

标签: javascript jquery

<div class="Name">
    <div class="Image"></div>

    <ul>
                <li><h5><span class"myName">I want this text</span></h5></li>
                  <li class="description">The description</li>
        </ul>
        <button class="myButton">My Button</button
</div>

(具有相同结构的多个项目)

如果我的结构以这种方式构建, 如何让myName类将其内容作为变量?

$(".myButton").click(function () {
    var itemName =    $(this).siblings(".myName").innerHTML   ??
}

4 个答案:

答案 0 :(得分:1)

好的,问题是您的HTML中有错误。

<span class"myName">

而不是

<span class="myName">

这会使一切变得不同,因为您的类选择器将不起作用属性。哦,你也错过了“&gt;”在关闭按钮标签时。

这是固定的HTML:

<div class="Name">
    <div class="Image"></div>
    <ul>
        <li><h5><span class="myName">I want this text</span></h5></li>
        <li class="description">The description</li>
    </ul>
    <button class="myButton">My Button</button>
</div>

这是与它一起使用的jQuery:

$(".myButton").click(function() {
    var itemName = $(this).parent().find('.myName').html();
    alert(itemName);
});

你也错过了右括号......

我创建了一个小提琴手,因此您可以对其进行测试:http://jsfiddle.net/juj3W/

答案 1 :(得分:0)

试试这个:

$(".myButton").click(function () {
    var itemName = $(".myName", $(this).parent()).text();
                   //find class in parent
}

答案 2 :(得分:0)

这是获得它的一种方法:

$(".myButton").click(function () {
  var itemName = $(this).parent().find(".myName").html();
}

答案 3 :(得分:0)

var itemName = $(this).prev('ul').find('.myName').html();