1

これは非常に具体的な質問ですので、繰り返し聞こえる場合は申し訳ありません。

Wordpressの「PressThis」機能を操作するコードのブロックがあります。これにより、選択したテキストのコピーなど、リモートサイトに関するブログをすばやく作成できます。

私がそれを操作したいのは、ワードプレスエンジンサイトからのブログ投稿全体を(クレジットで)再ブログすることです。Wordpress.comのサイトにはこの機能が組み込まれていますが、独自のホストサイトがある場合、この機能はありません。

ポップアップを機能させるとともに、正しいDIVを選択することができましたが、コンテンツがありません。

からの結果:

 y = d.getElementsByClassName('entry'),

y=[オブジェクトノードリスト]

z = y.innerHTML,

結果は「未定義」です

for (var i = 0; i < y.length; ++i) {
z = z + y[i];}

結果は'[objectHTMLDivElement] [object HTMLDivElement]'です(結果はy.innerHTMLから取得した場合と同じです)

私はヘルプを広範囲に検索しましたが、コードの解決策を紹介することはできません。

誰か助けてもらえますか?

4

2 に答える 2

1

';'の最後に'、'を付ける理由がわかりません する必要があります

 y = d.getElementsByClassName('entry'),

問題は、getElementByClassName('entry')が、クラス名'entry'を共有するすべての要素の配列を返すことです。

最初にアクセスしたい場合は、を使用する必要があります

y = d.getElementsByClassName('entry')[0];

または、を使用てすべてを実行できます。

for(var i in d.getElementsByClassName('entry')) {
  y = d.getElementsByClassName('entry')[i];
  alert(y.innerHTML);
}
于 2012-11-14T11:50:58.900 に答える
0

あなたはほとんどそれを手に入れました、これを試してください:

var z = '';
for (var i = 0; i < y.length; ++i) {
   z = z + y[i].innerHTML;
}
alert(z); //will alert the html content of all your .entry elements
于 2012-11-14T11:02:36.680 に答える