从一个属性中获取一个值,并将其添加为另一个属性
Get a value from an attribute and add it as another attribute?
如何使用jQuery从onclick
属性中获取字符串文本并将其设置为href
属性。
这是我正在使用的小提琴:http://jsfiddle.net/MBmt5/
我只想从onclick
属性中获取TrackPackage.asp?track=95213&ship=OTHER&ShippingMethod=3
,并将其设置为href
属性
所以它最终会变成这样:http://jsfiddle.net/52Nha/
不幸的是,我不知道如何做到这一点。有人能帮我吗?必须与jQuery 1.4.2兼容。谢谢
更新
我当然会从开始
$(document).ready(function(){
$('span.trackpackagebutton').closest('a').removeAttr('href');
});
很难看,但我希望这会对你有所帮助。
$('a').attr('href',
$('a')[0].getAttribute('onclick')
.replace("window.open('", '').split(',')[0].replace("'", ''))
.removeAttr('onclick');
工作演示-http://jsfiddle.net/MBmt5/5/
注意:根据您的标记结构,您可以使用正确的选择器并重用上面的代码。
例如:下面的代码将对页面上具有onclick
属性(具有window.open
)的所有锚点执行此逻辑。
$('a[onclick^="window.open"]').each(function(){
$(this).attr('href',
this.getAttribute('onclick')
.replace("window.open('", '').split(',')[0].replace("'", ''))
.removeAttr('onclick');
});
这里有一种方法:
- http://jsfiddle.net/MBmt5/2/
http://jsfiddle.net/GaZGv/1
var $a = $('span.trackpackagebutton').closest('a');
var href = $a.attr('onclick').split('(')[1].split(',')[0].replace(/'/g, '');
$a.attr('href', href).removeAttr('onclick');
alert(href)
相关文章:
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 如何通过HTML+CSS中的另一个元素Selector更改元素的属性值
- 你能用来自数组的属性名称生成一个对象吗
- 一个正则表达式,用于从JS中的HTML标记中删除id、样式和类属性
- AngularJS:如何用同一对象的另一个属性访问一个属性
- 如何为下拉列表的每个选项添加一个属性
- 如果另一个属性相同,请删除该属性
- Knockout observable没有观察到其中一个属性
- 使用数据属性将HTML数据复制到另一个元素
- 将javascript对象(属性+值)合并到一个对象中
- 使用 JavaScript 一次为一个元素设置多个属性
- 我如何选择/点击一个带有for=“”的元素"属性[量角器]
- 如何计算一个对象中五个属性中有多少是非null的
- 检查来自不同数组的两个元素的一个属性是否相等
- 获取一个对象´s属性的名称使用字符串
- 选择一个元素,使其最近的具有特殊属性的父元素具有特殊值
- JavaScript-通过类似的属性查找对象,并将其推送到一个新的数组中
- 在html页面的属性周围添加了一个额外的空间
- 谷歌闭包编译器内联了一个重复使用的私有属性 - 一个缺陷还是我错过了什么
- 给一个嵌套的属性/属性一个自定义值