簡體   English   中英

將一個屬性復制到JQuery中一組子項的同一子項中的另一個屬性

[英]Copy one attribute to another in the same child element of a set of children in JQuery

哇,好吃 我一直在為此苦苦掙扎,因為我仍然是使用JQuery選擇器的新手。 任何幫助,將不勝感激。 我有一個情況我選擇使用子集從父DIV(ID = 'A')DIV(類= 'B').children().slice() 此外,我需要將每個孫子div (class ='C')longdesc屬性值復制到其div內容。 我在想類似下面的內容,但是在嘗試獲取longdesc的值時,我不知道如何引用正確的孫子div。 也許有更好的方法嗎? 救命!

HTML:

<div id="A">
    <div class="B">
        <div class="C" longdesc="value1"></div>
    </div>
    <div class="B">
        <div class="C" longdesc="value2"></div> 
    </div>
    <div class="B">
        <div class="C" longdesc="value3"></div> 
    </div>
    <div class="B">
        <div class="C" longdesc="value4"></div> 
    </div>
</div>

JQuery的:

$start = 0;
$end = 2;

$('#A').children().slice($start, $end).find('.C').html("??value of longdesc??");

輸出:

<div id="A">
    <div class="B">
        <div class="C" longdesc="value1">value1</div>
    </div>
    <div class="B">
        <div class="C" longdesc="value2">value2</div> 
    </div>
    <div class="B">
        <div class="C" longdesc="value3">value3</div> 
    </div>
    <div class="B">
        <div class="C" longdesc="4"></div> 
    </div>
</div>

提前謝謝了!

使用以函數 .. 為參數的.html()版本

$('#A').children().slice($start, $end+1).find('.C').html(function(){
    return $(this).attr('longdesc');
});

演示在http://jsfiddle.net/aaFt9/1/


您還需要使用$end + 1來匹配value3因為slice第二個參數是最新參數,但不包括它( 請參見MDN的Array.prototype.slice()文檔


此外,如果這是您真正的html結構,則可以跳過.children()並直接查找.C元素。

$('#A').find('.C').slice($start, $end+1).html(function(){
    return $(this).attr('longdesc');
});

演示位於http://jsfiddle.net/aaFt9/2/

嘗試

$(".C").html(function () {
    return $(this).attr("longdesc")
});

的jsfiddle


編輯 :重新閱讀問題,您可以嘗試

var $end = 2;
$(".C").each(function (i) {
    i <= $end ? $(this).html(function () {
        return $(this).attr("longdesc")
    }) : null;
});

的jsfiddle

$("#A").find(".B").children().each(function(){
   $(this).html($(this).attr('longdesc')); 
});

無論您想在哪里,都適合使用.slice()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM