首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在ClojureScript中创建按钮元素?

如何在ClojureScript中创建按钮元素?
EN

Stack Overflow用户
提问于 2013-04-20 06:54:32
回答 1查看 5K关注 0票数 8

我试图在ClojureScript中创建新元素,但它似乎不起作用。首先,我将展示一个我找到这里的例子。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(let [dom6238 (.createElement js/document "a")]
    (.setAttribute dom6238 "href" "http://somelink")
    (set! (.-innerText dom6238) "Text")
    dom6238)

他们说皈依者是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var dom54535 = document.createElement("a");
    dom54535.setAttribute("href", "http://somelink.com");
    dom54535.innerText = "Hello there";
return dom54535

如果我没有弄错,这应该会产生一个HTML片段,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[:a.anchor.silly {:href "http://somelink.com"} "Text"]

我的.cljs文件中有这样的内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(defn create-button []
  (let [a (.createElement js/document "a")]
    (.setAttribute a "href" "http://somelink")
    (set! (.-innerText a) "Text")
    a))

(defn init []
  (let [a (.getElementById js/document "write-action")
        b (.getElementById js/document "button-field")]
    (set! (.-innerHTML a)
          "field a")
    (set! (.-innerHTML b)
          (create-button))))

它只产生(按钮字段在HTML中的写操作上方):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http://somelink/
field a

所以没有锚标签,只有文本。

我要做的是创建一个按钮,所以我有以下代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(defn create-button []
  (let [new-button (.createElement js/document "input")]
    (set! (.-type new-button)
          "button")
    (set! (.-innerHTML new-button)
          "I'm a button")
    new-button))

它生成以下输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[object HTMLInputElement]
field a

因此,我稍微转一下并移除返回值:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(defn create-button []
  (let [new-button (.createElement js/document "input")]
    (set! (.-type new-button)
          "button")
    (set! (.-innerHTML new-button)
          "I'm a button")))

这就产生了:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
I'm a button
field a

再一次,我只有短信。

我必须要完整:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(defn create-button []
  (let [new-button (.createElement js/document "input")]
    (set! (.-type new-button)
          "button")))

它只返回文本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
button
field a

这是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(defn create-button []
  (let [new-button (.createElement js/document "input")]
    (set! (.-type new-button)
          "button")
    new-button))

产生这种情况:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[object HTMLInputElement]
field a

我完全迷失在这里,我到处寻找任何解决方案,而且似乎没有任何东西能回答这个问题。我尝试过将新的set属性包装在(do)中,也尝试过不使用(set!)的版本。但没有什么能创造出预期的结果。

问:如何创建一个可以使用ClojureScript点击的按钮?

如果有人知道:为什么站点中的示例只返回第一项的结果而不返回innerText,而我的示例只返回第二项的文本结果(set!)功能?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-20 07:52:05

您正在将DOM元素对象分配给另一个元素的innerHTML属性,该属性显然无法工作。您需要在DOM元素上使用appendChild方法将一个子元素插入其中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(let [div (.createElement js/document "DIV")]
    (.appendChild div (create-button)))
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16121687

复制
相关文章
PHP统计目录总大小、文件和子目录个数
php function getDirectorySize($path) { $totalsize = 0; $totalcount = 0; $dircount = 0; if ($handle = opendir ($path)) { while (false !== ($file = readdir($handle))) { $nextpath = $path . '/' . $file; if ($file != '.' && $file
苦咖啡
2018/04/28
1.6K0
如何将python列表拆分为大小相等的块
程序熵
2023/09/25
3330
如何将python列表拆分为大小相等的块
如何使用PQ获取目录下所有文件夹的名(不含文件和子目录)
今天想把之前发布的Power BI的示例文件文件夹做一个表出来,只获取该目录下的所有文件夹的名,并不包含其中各种文件和子目录。
陈学谦
2020/05/08
7.2K0
如何使用PQ获取目录下所有文件夹的名(不含文件和子目录)
得到目录大小
本文由来源 21aspnet,由 system_mush 整理编辑,其版权均为 21aspnet 所有,文章内容系作者个人观点,不代表 Java架构师必看 对观点赞同或支持。如需转载,请注明文章来源。
Java架构师必看
2020/07/21
9690
python获取远程图片的大小和尺寸
这段代码通过urllib2打开远程图片,通过cStringIO读取文件内容,不用保存到磁盘即可读取图片文件的信息
大师级码师
2021/11/02
1.2K0
递归删除目录下的所有文件及子目录下所有文件
目录 1 代码 1 代码 /** * 递归删除目录下的所有文件及子目录下所有文件,以及 * @param dir 将要删除的文件目录 */ public static boolean deleteDir(File dir) { if (dir.isDirectory()) { String[] children = dir.list(); //递归删除目录中的子目录下 for (in
一写代码就开心
2022/08/16
1.7K0
Linux下查看某目录或指定文件大小的命令
du -sh 文件或目录名   用法:du [选项]... [文件]...   总结每个<文件>的磁盘用量,目录则取总用量。   长选项必须用的参数在使用短选项时也是必须的。   -a, --all write counts for all files, not just directories   -B, --block-size=SIZE use SIZE-byte blocks   -b, --bytes print size in bytes   -c, --total produce a gran
cloudskyme
2018/03/20
5.5K0
获取文件的大小(fseek和ftell函数)
FILE *fp = fopen("C:\\Users\\Administrator\\Desktop\\hello.txt", "r");
用户7886150
2021/02/13
1.2K0
python获取远程图片的大小和尺寸
这段代码通过urllib2打开远程图片,通过cStringIO读取文件内容,不用保存到磁盘即可读取图片文件的信息
用户7999227
2021/11/01
1K0
linux 查看目录大小_shell判断文件大小
du [-abcDhHklmsSx] [-L <符号连接>][-X <文件>][–block-size][–exclude=<目录或文件>] [–max-depth=<目录层数>][–help][–version][目录或文件]
全栈程序员站长
2022/11/04
11.6K0
linux 查看目录大小_shell判断文件大小
Python-获取图片的大小
了解过Pillow的都知道,Pillow是一个非常强大的图片处理器,这篇文章主要记录一下Pillow对图片信息的获取:
py3study
2020/01/13
1.4K0
python比较列表中元素大小和列表中元素的判定
列表的判定主要是判定列表中是否包含某个元素,使用逻辑运算符判定就可以了;列表的比较稍微复杂一些,首先比较的是两个列表中对应元素的大小,如果元素值一样,再比较列表长度。
python自学网
2021/12/01
5.8K0
python比较列表中元素大小和列表中元素的判定
精确统计所有库表的大小
统计每个库每个表的大小是数据治理工作的最基本内容,本文将从抽样统计结果及精确统计结果两方面来统计MySQL的每个库每个表的数据量情况。
俊才
2020/07/01
1.4K0
精确统计所有库表的大小
Python获取图片的大小/尺寸
                                                          
py3study
2020/01/12
16.3K0
linux 查看目录的剩余空间大小
df -h 查看整台服务器的硬盘使用情况
yaohong
2019/09/11
14.5K0
linux 查看目录的剩余空间大小
powershell中,罗列出目录的大小
在linux中,想看某个目录下各个文件和目录大小的时候,还是很方便的,windows下怎么办呢。
东风压倒西风
2022/10/21
3.8K0
Excel小技巧63:调整工作表中所有图表的大小并保持相同
在创建图表时,Excel会使用默认的大小。有时候,我们想将工作表中所有图表的大小进行调整,使其更小些或者更大些。可以通过逐个图表手动拖拉进行调整,然而,这样调整出来的图表大小总会稍有差异。要想使图表的大小保持一致,有多种方法,除了VBA外,下面介绍两种快捷的方法。
fanjy
2020/11/06
6.5K0
命令行从 FTP 获取一个目录及所有子目录文件
最近接了一个需求,主要是对 FTP 操作的一系列功能,中间遇到一个问题就是如何通过命令行方式从 FTP 下载一个文件夹到本地。搜索了一下 FTP 现有的命令,无法实现将一个目录下所有子目录的文件都复制下来,mget 命令仅能下载文件,而不能下载目录。搜索后得知,可以通过 wget 命令来解决。一个示例如下:
我与梦想有个约会
2023/10/21
2.6K0
批处理命令for循环_批处理获取某个目录大小
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/183021.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
5920
Ubutu 更改 子文件或子目录的权限
Ubuntu中有两个修改命令可以用到,「change mode」&「change owner」
qubianzhong
2019/07/01
2.2K0

相似问题

最后没有抛出堆栈溢出异常

42

节点不抛出堆栈溢出异常

15

为什么会抛出堆栈溢出异常?

21

如果不使用递归,如何抛出堆栈溢出异常?

100

*异常:堆栈溢出:堆栈溢出

137
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文