1

こんにちは、特定の URL の画像の下にフォームを配置しようとしていますが、うまくいきません。私はJQueryが初めてなので、何が間違っているのか正確にはわかりません。誰かがこれの何が悪いのか知っていますか?

<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript">
function main(){
    var imageURL = getImageURL();
    $("img[src=imageURL]");
    $("img[src='Your URL']").append("<input type="radio" name="geo" value="geolocation">Use Geolocation? <br> Additional Information About the Image: <input type="comment" name="cmnt">");

}

function getImageURL(){
var url = "http://www.w3schools.com/images/pulpit.jpg";
return url;
}
</script>
</head>
<body onload="main()">
<b> Page </b>
<img src="http://www.w3schools.com/images/pulpit.jpg">

</body>
</html>
4

3 に答える 3

2

jQuery メソッド.append()は、実際にはその引数を指定されたノード内に追加します。代わりに、指定した要素の後にコンテンツを挿入するafter()メソッドを使用します。

于 2012-10-12T18:18:06.773 に答える
1

いくつかの問題があります。変数を使用することはimageURLできません。src セレクター内に直接配置することはできません。で連結する必要があります+.append()次に、特定のノードの子ノードに追加するのではなく、.after()要素を兄弟ノードとしてセレクターに追加するために使用する必要があります。

単一ではなく、その中にネストされた aを<input>追加する必要があります。<form><input>

function main(){
    var imageURL = getImageURL();
    // Concatenate the imageURL variable into the $() selector.
    // Put the <input> inside a <form> if it needs to function as a form element.
    $("img[src='" + imageURL + "']").after("<form><input type="radio" name="geo" value="geolocation">Use Geolocation? <br> Additional Information About the Image: <input type="comment" name="cmnt"></form>");

}
于 2012-10-12T18:19:55.587 に答える
1

最初の答えに加えて、他にもいくつかあります。

JQuery ライブラリの前に http:// が必要です。

文字列は二重引用符でカプセル化されており、二重引用符が含まれています。内側の二重引用符をエスケープするか、文字列を単一引用符でカプセル化する必要があります。

于 2012-10-12T18:21:11.817 に答える