0

ここに問題があります。内部に子 div を含む div があり、子 div にアクセスできないようです。私が必要とするのは、子 div ごとに .eq90 のインデックスを見つけることです。

親を生成するコードは次のとおりです。

function makeSmallBlockdiv ()
{
var smallBlock = $('<div class="SmallBlock EditBlock"></div>').appendTo("#canvas");
smallBlock.draggable({containment: "#canvas", scroll: false, grid: [10, 10]}, {cursor: "move", cursorAt: {top: 125, left: 150}})
smallBlock.append('<div class="article_title EditBlock fontCenter fontBold font24">Article Title</div>')
smallBlock.append('<div class="article_Image"><img style="width: 250px;" src="<? echo $image1 ?>"></div>')
smallBlock.append('<div class=" article_text font14"><? echo substr($article_text, 0, 200) ?></div>')   
}

この関数は、より多くの親 div を作成するために必要なだけ呼び出すことができます。これまでに試したことは次のとおりです。

$(".article_text").click(function() {
  alert("Index: " + $(this).index());
});

これを変更して関数 ready() にラップしました。このコードは、私がここで見つけたフィドルから来ていますhttp://jsfiddle.net/fY6SU/48/

フィドルコードは完全に機能しますが、私のものは何もしません。firebug で html を見ると、div が適切に作成されていることがわかります。私は困惑しており、jquery を使い始めたばかりであることは役に立ちません。

どんな提案でも大歓迎です。

ありがとう

クリス

4

4 に答える 4

2
$(".article_text").click(function() {
  alert("Index: " + $(this).index());
});

セレクターはクラス'article_text'のみを選択し、生成するhtmlにはクラス'article_text'のdivが1つしか含まれないため、解決策は、同じ名前のdivにクラスを追加するか、次のように複数のセレクターを使用することです。

$(".article_text, .article_Image, .article_title, .SmallBlock").click(function() {
  alert("Index: " + $(this).index());
});
于 2012-12-13T18:52:11.017 に答える
0

What I need is to find the index with .eq90 for each of the child divs.

ここ:

var ninetyChildren = new Array(); //create an array to hold the children
$(".parent").each(function() { //loop through each parent
    var ninety = $(this).children().eq(89).text(); //get index of 90 - eq starts with 0
    ninetyChildren.push(ninety); //add 90th index to array
});

$.each(ninetyChildren, function(i, data){ //loop through 90th indexes
alert(i +" "+ data); //alert each 90th index
});
​

これがあなたが望んでいたものであることを願っています。 模擬デモ

于 2012-12-13T19:24:24.220 に答える
0

兄弟の index() を取得する方法を理解できました。

これが私がそれらを見つけるために使用したコードです。

$("div").children(".article_text").eq(3).css("color", "red");

css セレクターは、その動作を確認するための視覚的な補助として存在します。

私を助けてくれたすべての人に感謝します。

于 2012-12-13T19:28:43.320 に答える
0

解決策はクラス名にあります。$(".article_text") 最後の div のみを選択し、例のフィドルのクラス名に従って名前を変更することを検討してください

于 2012-12-13T18:57:11.050 に答える