【问题标题】:How pass this element as anchor tag to javascript function如何将此元素作为锚标记传递给javascript函数
【发布时间】:2016-03-19 14:51:33
【问题描述】:

这就是我们将Url() 模型输入绑定到knockout UI 的方式。

[anchor-tag] data-bind="attr: { href: Url()"

现在我想将一些来自父元素的东西附加到 url,所以我想将 "this" 元素传递给 js 文件。

[anchor-tag]  data-bind="attr: { href: myFunction1(Url(), this)"

myFunction1 = function (url, obj) {
    return url + "#" + $(obj).parents('li').attr('rankAbs');
}

当我在myFunction1 中执行$(obj) 时,我正在取回Window 对象。

我无法访问更多的父对象。

【问题讨论】:

标签: javascript jquery knockout.js data-binding anchor


【解决方案1】:

根据documentation,“$element”是绑定应用到的当前DOM元素:

这是元素 DOM 对象(对于虚拟元素,它将是 注释 DOM 对象)的当前绑定。这可能很有用,如果 绑定需要访问当前元素的属性。示例:

<div id="item1" data-bind="text: $element.id"></div>

在你的情况下:

[anchor-tag]  data-bind="attr: { href: myFunction1(Url(), $element)"

如果在您的函数中您正在获取父 DOM 元素并获取一些属性,则最好更改您的视图模型以提供所需的信息。

如果父模型可以提供所需的信息,您也可以使用“$parent”或“$parents”敲除上下文变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多