通过使用字符串来查询这个选择器[关闭]
Posted
技术标签:
【中文标题】通过使用字符串来查询这个选择器[关闭]【英文标题】:Jquery this selector by using string [closed] 【发布时间】:2012-05-22 01:01:34 【问题描述】:是否有任何与 $(this) 等价的字符串表达式?我已经尝试过 $('this') 但我无法成功。
编辑:
我想减少我的 dom 元素的代码量。我不想重复我的代码,而是想编写一个自定义属性并将响应放入 data-response-target-sel 选择器。但是有时我需要通过使用“this”的上下文来表达这个选择器。我想为这种情况找到一个好的解决方案。我可以为上下文添加另一个自定义属性,但在进一步讨论之前,我想分享我的问题。
<a class="btn btn-primary" href="#" data-response-target-sel=".modal" >
ajaxSubmit(
url: $this.attr("href"),
type: "GET",
data:
,$this.attr("data-response-target-sel"));
function ajaxSubmit(data,resSel)
$.ajax(
url:data.url,
type:data.type,
data:data.data,
cache:false,
success:function (html, textStatus, jqXHR)
var $html = $(html);
if(jqXHR.status == 200 || jqXHR.status == 201)
$(resSel).html(html)
);
我怎样才能使用这个为上下文设置“data-response-target-sel”?
谢谢
【问题讨论】:
告诉我们你想要做什么,并发布一些代码...... 这是因为$('this')
将尝试选择任何名为this
的HTML 元素,我假设其中没有。你为什么要这样做?
请在您的问题中添加一些信息。你想归档什么?到目前为止你做了什么?
嗯? $(this)
将当前对象包装成一个 jQuery 对象。如果$(this)
有效,为什么需要使用字符串?无论如何,你必须检查 this
对象是否有 id - 如果是,使用它,如果没有,你必须在 DOM 树中找到它并根据它的位置以某种方式引用它......跨度>
人们投反对票是因为您没有付出任何努力提出问题。当您不费心解决问题时,不要指望人们会努力回答。我看到您现在已经编辑了信息 - 为什么这不是您最初的问题?
【参考方案1】:
是否有任何与 $(this) 等价的字符串表达式?
不,除非你使用像邪恶的eval
这样的东西。
为什么你需要一个等价于this
的字符串?
如果我能找到类似的东西:$('kdjfk55ndns')
你会用吗?
如果您真的想要上述答案,请阅读https://***.com/q/10375329/601179...
请注意,$('this')
查询 DOM 以查找带有 this
tagName 的元素:
<this>
<this> </this>
</this>
在 HTML 中有很多这样的...
更新:
function ajaxSubmit(data,resSel)
$.ajax(
url:data.url,
type:data.type,
data:data.data,
cache:false,
context : $(resSel),
success:function (html, textStatus, jqXHR)
var $html = $(html);
if(jqXHR.status == 200 || jqXHR.status == 201)
this.html(html)
);
【讨论】:
【参考方案2】:尝试将$(this)
定义为变量,然后使用它。
var obj = $(this);
【讨论】:
【参考方案3】:如果你要传递你的元素,你可以这样做:
$('selector', $this);
或者在你的例子中:
$(resSel, $this).html(html)
不要使用
$this.attr("data-response-target-sel")
但是
$this.data("response-target-sel")
【讨论】:
但我想使用“此上下文”可选。我将如何通过使用字符串来优雅地表达它。我希望你能理解我的担忧。顺便感谢“数据”提示。以上是关于通过使用字符串来查询这个选择器[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
`querySelectorAll` - 使用数据选择器查询时返回空值