使用 jquery/d3 动态重用模板
Dynamically reusing template with jquery/d3
所以我使用 d3 和 jquery 来加载一个将充当弹出窗口的模板。我拥有的是多个相同的按钮,每个按钮都会触发此功能并显示带有指定文本的弹出窗口。
function(d, i){
var x = d3.select("body")
.append("div")
.attr("id", "x" + i);
$("#x" + i).load("template.html", function(){ $("#textBox").text(data)});
}
使用模板:
<html>
<div id="textBox"></div>
</html>
d3.select.append 正在按预期工作。每次单击不同的按钮时,都会创建一个具有相关 id 的新div。但是,每次调用 .load() 时,文本都会加载到创建的第一个div 中,而不是具有指定 id 的div 中。我相信我误解了 .load() 的工作原理,.load 的回调函数是否在寻找"#textBox"的第一个实例?如果是这样,是否可以在模板中定义动态 ID?
第一次点击:
<div id = "x1">
<div id="textBox">data1</div>
</div>
第二次点击:
<div id = "x1">
<div id="textBox">data2</div>
</div>
<div id = "x2">
<div id="textBox"></div>
</div>
谢谢你的时间
你误解了 HTML 的工作原理,而不是load
。 id
属性代表在文档中必须是唯一的标识符。所以答案既不是关于jQuery,也不是关于D3。
您需要将textBox
从属性值更改为id
属性值class
。回调中的选择器将更改为 '#x' + i + ' .textBox'
。
相关文章:
- 动态jQuery不在.append()之后发布表单的添加输入
- 动态jQuery验证
- 动态 JQuery 视图在 django 中
- 动态jQuery变量名
- 基于html属性的动态jquery选择器
- 带有滑动图片的动态jQuery菜单
- 动态jQuery进度条-单击事件不工作
- 使用动态jQuery
- 如何获得动态 JQuery 移动手风琴.
- 基于当前内部HTML创建动态jQuery变量名称
- 动态 jquery ui 可排序块的索引/位置
- 动态 JQuery UI 中的表排序器不起作用
- 显示和隐藏动态 jQuery UI 对话框
- 使用 JQuery 在动态 JQuery UI 对话框中为动态创建的表单元素设置值
- 你怎么能让我选择=“;选择“;动态Jquery
- 动态jQuery Waypoints循环
- 动态JQuery下拉列表没有'不起作用
- 如何勾选“复选框”动态- jQuery移动版
- 动态jQuery工具提示
- 动态jQuery内容加载