これはどこで間違っていますか:
$('#prod').on('click', '.doc', function() {
var src = this.value;
if (! src) {
var url = this.id;
window.open('' + url + '');
} else {
var encodedSrc = encodeURIComponent(src);
$('#inner').html('<iframe id = dFrame src = http://docs.google.com/viewer?url=' + encodedSrc + '&embedded=true></iframe>');
クラス .doc は、div 'prod' で動的に生成されたいくつかのボタンを参照します。それらはすべて、リンクをクリック機能に渡すために使用される ID と値の両方を持っています。ボタンの値はドキュメントを参照し、id は URL を参照します。id と value の両方にデータを持つボタンはありません。ボタンをクリックすると、ボタン id で指定された URL で新しいウィンドウが開くことがあります。それ以外の場合は、Google リーダーを iframe で開き、ボタンの値で参照されているドキュメントを表示します。上記のコードは、次のことを意図していました。
クリックされたボタンから値を取得します。null の場合は、ID を取得し、ID の URL で新しいウィンドウを開きます。null でない場合は、ボタンの値を URI エンコードし、Google リーダーを読み込みます。
どちらか一方を機能させることはできますが、両方を機能させることはできません。