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()

而不仅仅是一个<input>,你应该附加一个嵌套在其中<form>的a 。<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 回答