使用ID作为变量

时间:2011-12-07 17:49:06

标签: javascript jquery

我正在尝试使用类名“链接”查找范围的文本,但我遇到了问题。

<div id="item-0" class="box">
    .......
</div>
<div id="item-1" class="box">
    <p><strong>Link: </strong><span class="link">http://www.domain.com/list44/</span></p>
    <p><input type="submit" value="submit" class="load-button2"></p>
</div>
<div id="item-2" class="box">
    .......
</div>


$(".load-button2").click(function(){
    var id = $(this).closest('.box').attr('id');
    alert(id);  // showing the right box ID
    var linkp = $(/*** what should i put here? ***/ "#" + id + " .link").text;
});

4 个答案:

答案 0 :(得分:4)

你应该能够做到:

$(".load-button2").click(function(){
    var id = $(this).closest('.box').attr('id');
    alert(id);  // showing the right box ID
    var linkp = $("#" + id).find(".link").text();
});

虽然,更优雅的解决方案是:

$(".load-button2").click(function(){
    var linkp = $(this).closest('.box').find(".link").text();
});

答案 1 :(得分:4)

您可以尝试以下代码:

$(".load-button2").click(function(){
    var text = $(this).closest('.box').find('.link').text();
});

答案 2 :(得分:1)

$(".load-button2").click(function(){
    var id = $(this).closest('.box').attr('id');
    alert(id);  // showing the right box ID
    //var linkp = $(what should i put here / "#" + id = " .link").text;
    var linkp = $("#"+id).find(".link").text;
});

答案 3 :(得分:1)

另一种选择,因此您不必再进行完整的DOM遍历(因为您已经获得了容器)。

$(".load-button2").click(function(){
    var container = $(this).closest('.box');
    var id = container.attr('id');
    alert(id);  // showing the right box ID
    var linkp = container.find('.link').text();
    alert(linkp);
});

See it in action