我已搜索过但我并不真正理解与此问题相关的答案,而且它们都与JSP有关,所以我不确定它是否适用于我的用法。
我在页面上有一个评论列表,当用户点击"回复"执行javascript代码,但正在运行的javascript函数需要知道它将要处理哪个注释才能将回复表单插入正确的div中。我有关于在html代码中处理哪个注释的信息,但我需要能够在外部JS文件中访问此信息。
有没有办法将这些信息从html发送到javascript?
答案 0 :(得分:1)
[更新]
您可以使用Jquery的数据属性
查看示例: http://jsfiddle.net/9AJUJ/2/
HTML
<div id="div1"></div>
<button class="mydiv" data-info="1" >button 1</button>
<div id="div2"></div>
<button class="mydiv" data-info="2" >button 2</button>
JS
//when document is load
$(function(){
$(".mydiv").click(function(){
$("#div" + $(this).data('info')).append('hello');
});
})
答案 1 :(得分:0)
每个回复按钮的ID是否与评论ID相匹配?这将允许您知道按下了哪个按钮(this.id或this.name)并且对应于相关的注释字段。
您的输入将是
<input type="text" id="comments1">
,你的按钮就是
<button type="button" id="button1">Click Me!</button>
在你的按钮js你可以做类似的事情
var buttonID = this.id;
var commentID = 'comments' + buttonID.substring(6);
var commentObj = document.getElementById(commentID);
答案 2 :(得分:0)
假设这是您的HTML代码:
<article>
<header>
Posted by XYZ
</header>
<p>
This is a comment...
</p>
<footer>
<button type="button">
Reply
</buttuon>
</footer>
</article>
这里是JQuery代码:
$(function() {
$('article>footer>button[type="button"]').click(function(){
$(this).parent().parent().append(/** HERE IS WHAT YOU APPEND **/);
});
});
答案 3 :(得分:0)
您需要编辑回复按钮的标记。
<button class="reply-button" data-commentid="42">Reply</button>
<!-- ^ Add this attribute -->
在您的事件监听器中:
var commentId = this.dataset.commentid;
答案 4 :(得分:-1)
我做了什么(所以我不知道这是否是正确的方法),我是通过php类创建我的html代码并给每个div提供和id,如“div number”+ “回答”。
所以我的网页htmml看起来像是:
<div id="0answers">
<h1 id="0title"> </h1>
<p id="0p"> </p>
</div>
<div id="1answers">
<h1 id="1title"> </h1>
<p id="1p"> </p>
</div>
<div id="2answers">
<h1 id="2title"> </h1>
<p id="2p"> </p>
</div>
当有人点击div n°3时,您需要的所有信息都可以修改标题n°5。
那需要吗?
答案 5 :(得分:-1)
因此...
var i = 0;
var button = document.getElementById(i + 'button');
while(button){
var p = document.getElementById(i + 'p');
// and do what you want
++i;
var button = document.getElementById(i + 'button');
}