jquery atrr(“href”)在sharepoint中不一致
我有一个jquery函数(这不是我写的,我还在学习)。在这方面,我们在几个地方使用f.attr(“href”)替换URL。我不理解从何处绑定此href值。以及为什么值(f.attr(“href”)在不同的地方发生变化。我的意思是说,它在一个位置有一些价值,如果我给出相同的值,它在另一个位置给我不同的价值 我在文章中读到,.attr()方法只获取匹配集中第一个元素的属性值。匹配集是什么意思 2. 让我这样修改我的问题:我可以在Jquery函数中附加查询字符串吗?我想从网页中再添加两个querystring元素以获得完整的url。如果我们能……我们怎么能做到呢jquery atrr(“href”)在sharepoint中不一致,jquery,sharepoint,Jquery,Sharepoint,我有一个jquery函数(这不是我写的,我还在学习)。在这方面,我们在几个地方使用f.attr(“href”)替换URL。我不理解从何处绑定此href值。以及为什么值(f.attr(“href”)在不同的地方发生变化。我的意思是说,它在一个位置有一些价值,如果我给出相同的值,它在另一个位置给我不同的价值 我在文章中读到,.attr()方法只获取匹配集中第一个元素的属性值。匹配集是什么意思 2. 让我这样修改我的问题:我可以在Jquery函数中附加查询字符串吗?我想从网页中再添加两个queryst
.替换“${my_email}”,“mailto:my@u.com?主题=Thanku&body=Jquery正在工作。%0A%0ahttp://www.my.site.com/_layouts/products/New.aspx?url=“+f.attr”(“href”))在这篇文章中,f.attr(“href”)给了我与我们使用的其他网站不同的价值。基本上,它只给了我一半的链接
您需要什么吗?我可以为您提供感谢u如果页面上有多个锚定标签,您有机会选择多个锚定标签
<a href="#">Missed</a>
<div>
<a href="#">Anchor</a>
<a href="#">Anchor</a>
<a href="#">Anchor</a>
<a href="#">Anchor</a>
<span><a href="#">Missed</a></span>
</div>
如果您使用$('div>a')
作为jQuery选择器,您将匹配(在本例中)所有内容为“锚定”的锚定标记;因为此选择器仅匹配作为div子项的锚定标记
您可以通过调用alert(f.length)来查看匹配的元素集的数量代码>
如果您可以提供定义f
的代码,或者在页面中看到一些HTML,我们将能够更具体地帮助您
如果使用f.attr()设置值,所有匹配的元素都将更新。如果使用f.attr()获取值,则只返回第一个元素的值。如果页面上有多个锚定标记,则有可能选择多个锚定标记
<a href="#">Missed</a>
<div>
<a href="#">Anchor</a>
<a href="#">Anchor</a>
<a href="#">Anchor</a>
<a href="#">Anchor</a>
<span><a href="#">Missed</a></span>
</div>
如果您使用$('div>a')
作为jQuery选择器,您将匹配(在本例中)所有内容为“锚定”的锚定标记;因为此选择器仅匹配作为div子项的锚定标记
您可以通过调用alert(f.length)来查看匹配的元素集的数量代码>
如果您可以提供定义f
的代码,或者在页面中看到一些HTML,我们将能够更具体地帮助您
如果使用f.attr()设置值,所有匹配的元素都将更新。如果使用f.attr()获取值,则只返回第一个元素的值。匹配集为零,并且作为初始查询结果的更多元素,例如$('.foo')
将返回一个包含定义了类foo的所有元素的集。在该集合上调用.attr('href')
时,它将只返回集合中第一个元素的属性(如果有),因为返回数组或串联中的所有属性通常不是大多数人想要的
如果确实需要所有属性,可以执行以下操作:
var array_of_hrefs = $('.foo').each(function(){
return $(this).attr('href')
}).get();
匹配的集合是零个或多个元素,它们是初始查询的结果,例如$('.foo')
将返回一个集合,其中包含定义了类foo的所有元素。在该集合上调用.attr('href')
时,它将只返回集合中第一个元素的属性(如果有),因为返回数组或串联中的所有属性通常不是大多数人想要的
如果确实需要所有属性,可以执行以下操作:
var array_of_hrefs = $('.foo').each(function(){
return $(this).attr('href')
}).get();
在jQuery调用中使用选择器时,它可能会匹配多个元素。结果作为jQuery对象返回,该对象可能包含匹配对象的集合(数组)。有些方法,如attr
只对集合中的第一个元素起作用
比如说,
$('a')
$('a').attr('title','foo');
将匹配文档中的所有定位标记
现在,每个选择器(可能)都有一个href
属性,但如果将attr
函数应用于该选择器的结果,则它将仅对集合中的第一个元素进行操作。如果我有下面的HTML
<a href='#0'>Zero</a>
<a href='#1'>One</a>
然后href
变量的值将为#0
,尽管选择器与两个锚匹配
更让人困惑的是,通常分配值而不是读取值的方法版本会处理集合中的所有元素。比如说,
$('a')
$('a').attr('title','foo');
将foo
分配给集合中两个锚的title属性。了解不同方法操作方式的差异很重要。有关特定方法的更多详细信息,请参阅
在您的例子中,我怀疑f
是一个与代码中不同位置的不同选择器匹配的变量(f
是一个糟糕的变量名,顺便说一句,让它更详细可能有助于理解代码的功能)。这就解释了为什么它在不同的位置具有不同的href
属性值。当然,这些值也可能因为您正在设置它们而发生变化,但我希望您能够理解如果发生了这种情况。当您在jQuery调用中使用选择器时,它可能会匹配多个元素。结果作为jQuery对象返回,该对象可能包含匹配对象的集合(数组)。有些方法,如attr
只对集合中的第一个元素起作用
比如说,
$('a')
$('a').attr('title','foo');
将匹配文档中的所有定位标记
现在,它们中的每一个都(可能)有一个href
属性,但是如果您在