明白なことを指摘するのは嫌いですが、あなたの例では、obj1_Meta と obj2_Meta は一意の ID であるため、作業コードに当てはまる場合:
document.getElementById('obj1_Meta').getElementsByTagName('meta')[0].innerHTML;
説明どおりに動作します。ダブルチェックとして、これを考えすぎましたか?
そうでない場合は、がっかり...
あなたのコードが「悪い」または「間違っている」のと同じように、機能するオプションは jQuery のような JavaScript フレームワークを使用することです。それを含めたら、次のように CSS セレクター (意味的に正しくないものでも) を渡すことで要素を取得できます。
$('#obj1 #obj1_Meta meta').html()
$() は jQuery の document.getElementById() の言い方です ... ステロイドについて。.html() は .innerHTML と同等です
PrototypeJS や MooTools などの他のフレームワークも同様の機能を提供します。
プロトタイプの例:
$$('#obj1 #obj1_Meta meta').innerHTML;//note the double $'s
フレームワークは、ブラウザーの互換性、JavaScript メソッド (getElementsByClassName など) の「欠落」、および AJAX の迅速なコーディングに関する多くの時間と手間を節約します。これらのことは、とにかく使用することをお勧めします。