私はかなりJSに新しく、デモギャラリーを構築しようとしている間に誰かが私に持っている問題を助けてくれることを願っています。 feed.jsというJSONファイルがあり、そのJSONファイル(つまり画像URL)の特定のフィールドをHTMLテーブルに呼び出しても問題はありません。私が次にしようとしているのは、ユーザーが画像をクリックすると、画像の横にあるセルにJSONファイルから呼び出されたより多くのフィールドが入るということです。これは私がこれまで行ってきたことですが、myFunctionがfの外側にあるので、画像をクリックすると "Uncaught ReferenceError:f is not defined"と表示されます。これを回避する方法のアイデアは素晴らしいでしょう!申し訳ありませんが、これは本当の初心者の質問ですが、私が言ったように私は初心者です!他の機能の中のonClick機能
<script>
$(function() {
var feed = [];
$.getJSON('feed.json', function(data) {
$.each(data.phones, function(i, f) {
var tblRow = "<tr>" + "<td><div id=\"demo1\"><img onclick=\"myFunction()\" id=\"demo\" src=" + f.image + "></div></td></tr>";
$(tblRow).appendTo("#userdata tbody");
});
});
});
function myFunction() {
document.getElementById("demo1").innerHTML = "<tr>" + "<td><div id=\"demo1\"><img onclick=\"myFunction()\" id=\"demo\" src=" + f.image + "></div></td><td>"+ f.description + "</td><td>" + f.manufacturer + "</td></tr>;"
};
</script>
あなたの質問は、あなたのプロジェクトでのjQueryを使用したが、その後DOMの選択とトラバーサルのためのjQueryとバニラのJavaScriptのミックスを使用しているように見えるしている – user7417866
不明です。これは単なる意見ですが、jQueryにコミットするか、JavaScriptでオールインするかのいずれかのアプローチにコミットすると、よりクリーンなソリューションになることがわかります。再び、意見の問題です。 –