其他获取 DOM 元素的方法

Posted

技术标签:

【中文标题】其他获取 DOM 元素的方法【英文标题】:Other way to get DOM element 【发布时间】:2017-04-30 01:20:55 【问题描述】:

我有这条线来获取一个 dom 元素。实际上它在一个 angularjs 组件中。 我需要有可能更改以下行。

$('[data-remodal-id=modal]').remodal(options);

到这样的事情:

var id = $ctrl.project.id;
$('[data-remodal-id=id]').remodal(options);

问题是我无法将字符串 id 转换为我想要的,或者我现在不知道这一点。希望大家能帮帮我。

正如你们所看到的,这是不常见的 jquery 选择器。我刚试过这个,它不起作用。

$('[data-remodal-id="' + id + '"]') 

PS:使用以下 jquery 库:http://vodkabears.github.io/remodal/

【问题讨论】:

using variables within a jquery selector的可能重复 @MikeMcCaughan 其实这个答案很好但还不够解决我的问题。 关于这个问题的答案不止一个......这根本不是一个不常见的选择器。您需要显示运行此代码的 html,以及比“它不起作用”更多的信息。 【参考方案1】:

你需要字符串连接:

$('[data-remodal-id="' + id + '"]')

【讨论】:

是的,这应该行得通,我明天在工作中试试,我会说你是不是对的;)【参考方案2】:

只是不要在组件和指令中混合使用 AngularJS 和 Jquery,这样会很麻烦。

最后我在 angularJS 中制作了自己的模态框。

【讨论】:

以上是关于其他获取 DOM 元素的方法的主要内容,如果未能解决你的问题,请参考以下文章

D1.DOM-获取DOM元素、修改属性

ReactJs中获取dom元素

获取 JS 中 DOM 元素的计算字体大小

jQuery中事件模块介绍

HTML DOM属性

HTML DOM 属性