親画面に動的で生成されるテーブルが存在しています(初期表示は10行)。初期表示の各行には行追加ボタンがあって、行を無限に増やすことができます。
また、各行のある列にはinputタグのテキストボックスを構成していますが、nameだけが割り当てられているだけで、どの行もclass・id双方が設定されていない状態です。

window.openで開く子画面は、上記テーブルの各行にイメージボタンも配置されるので、この押下をもって開くようにしています。【この隣の要素】=テキストボックスへ、子画面側リストボックスで選択されたvalを戻したいと考えています。インターネット上の記事を見よう見まねで、現況以下コーディングになっています。
(検証のための行を追加しています)

【親画面のJS】

// 品名コード検索画面(winOpenとセットで利用)
$(document).on("click", ".cdsrch", function(e) {
    // **** 戻ってくるテキストボックス特定のため、IDに99を付与
    $(this).next().attr("id","99");
    console.log($(this).next().prop("tagName")+"⇒"+$(this).next().prop("id"));
    // ****
    winOpen("cdselect0.php", 600, 960);
    return false;
});

【子画面のJS】

//生成された品名コードのリストボックスで更に指定を受けたら...
$("[name=car_model]").on("change", function(){
    var selectval = $(".car_model option:selected").val();
//  window.opener.document.getElementById("99").val(selectval);
    alert (selectval);
    alert (window.opener.document.getElementById("99").prop("tagName"));
    close();
});

function winOpen(url, width, height) {
    if (width > 800) {
        width = 800;
    }
    if (height > 600) {
        height = 600;
    }
    window.open(url, '_blank', 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, width=' + width + ', height=' + height);
}

子画面側のJSがコけているのか、親画面に値が渡らないばかりか子画面のcloseも行われません。(案の定エラーになっている様子↓の図)

子画面側でID=99の要素を取得できない要因、解決策についてご支援を頂けませんでしょうか??

開発ツールというものを初めて使い始めていますが、親画面のコンソールを見た限り、子画面を開く際に一応呼びもとのタグに99のID付与は成功しているようです。
但し、子画面側で親画面のID=99のタグを見つけられない状況が起きているような気がします。

画像を貼り付けさせていただきます。画像の説明をここに入力画像の説明をここに入力