在 Firefox 中使用 jQuery(userscript)添加一个表单链接
Add a link to a form with jQuery (userscript) in Firefox
我正在尝试使用jQuery使用用户脚本添加指向在线表单的搜索链接。我在 Firefox 中工作得不多,我觉得通常在 chrome 中工作的东西对我来说不会在 ff 9/10 次中工作。但无论如何...这需要与FF一起使用。
我正在从<p>
元素中获取文本并从中创建搜索 URL(或尝试这样做)。现在这是我正在尝试的功能,应该这样做......但它什么也没做,甚至控制台上没有任何错误
$(function() {
var companyName = $('p')[7]; // Element that contains the name text
var companyText = companyName.text(); // Retrieve the text from element
var mixRankUrl = $("<a></a>").innerHTML("Search Mixrank"); // Create an <a> element
mixRankUrl.href = 'https://mixrank.com/appstore/sdks?search=' + companyText; // Define the href of the a element
var sdkPara = $('label.control-label')[10]; // Where I want it to go
sdkPara.append(mixRankUrl); // Append the element
});
此外,编写 html 的人几乎不使用任何 id,大多数类都分配给 10 个或更多元素......因此,除非有更好的方法,否则我有点坚持使用节点选择器(它们与表单保持相同的形式)。
问题是你尝试在 DOM 元素上使用 jQuery 方法。不明白为什么你的代码没有任何错误。
例如:$('p')[7]
返回一个 DOM 元素,而$('p').eq(7)
返回一个 JQuery 对象。所以你不能在 DOM 元素上使用像 text()
这样的 jQuery 方法。你需要处理jQuery对象。
出于同样的原因,您在声明标签对象和修改链接的 href 属性时遇到问题。
尝试如下:
$(function() {
var companyName = $('p').eq(7); // Element that contains the name text
var companyText = companyName.text(); // Retrieve the text from element
var sdkPara = $('label.control-label').eq(10); // Where I want it to go
var mixRankUrl = $('<a>',{
text: 'Search Mixrank',
href: 'https://mixrank.com/appstore/sdks?search=' + companyText
}).appendTo(sdkPara); // Append the element
});
相关文章:
- 我可以在json对象中添加一个函数吗
- 单击更改图标并通过javascript添加一个css类
- 将添加一个相同类型的事件附加或覆盖以前添加的具有相同名称的事件
- 有没有添加一个ng点击到md背景
- 如何为下拉列表的每个选项添加一个属性
- 如何使用Javascript在给定的句子中找到大写单词并在其前面添加一个字符
- 在iframe中加载url并添加一个类
- 添加一个setTimeout方法会使jQuery悬停方法忽略setTimeout方法中的函数
- Jquery添加一个类之后,如何应用css
- jQuery在悬停时只添加一个类
- 添加一个javascript函数来下载elfinder上的事件
- 仅首先需要使用jasmine从节点添加一个文件
- 尝试添加一个选项以使用append进行选择,但没有任何结果
- 简单的Javascript方式,在输入字段的每5位数字后添加一个空格
- 如何使用JavaScript's”;应用“;方法,在数组之前添加一个额外的参数
- 在xsl中为body onload添加一个值
- 当用户单击按钮(在光标位置)时,在输入字段中添加一个文本字符串
- 添加一个元素,它's通过JS的类名
- 当我添加一个新数字时,如何获得一些数字的即时平均值
- 在跨度中每3个字符添加一个空格