English 中文(简体)
特定的 JQuery 函数( 用于 GreaseMonkey ), 直到与
原标题:Particular JQuery function (used with GreaseMonkey) not updating until interacted with

EDIT: 位于文章底部的解决方案

我特制的Grease Monkey脚本 使用 JQuery 过滤并修改我Facebook 新闻信息中的某些种子内容。 效果很好, 但这个特别的脚本效果不好:

$("h6.uiStreamHeadline:contains( shared ) a[id^= js_ ]").html("someone else");

这个功能将它转换成“John Smith分享别人的照片”。

以下是我其他的「过滤器」:

$("h6.uiStreamHeadline:contains( was tagged in )").closest("li").html("<li><i style= color:#CCCCCC;margin-left:15px; >Post Hidden (someone tagged somewhere else)</i></li>");
    $("h6.uiStreamHeadline:contains( were tagged in )").closest("li").html("<li><i style= color:#CCCCCC;margin-left:15px; >Post Hidden (multiple friends tagged somewhere else)</i></li>");
    $("h6.uiStreamHeadline:contains( commented on her own )").closest("li").html("<li><i style= color:#CCCCCC;margin-left:15px; >Post Hidden (someone commented on their own stuff)</i></li>");
    $("h6.uiStreamHeadline:contains( commented on his own )").closest("li").html("<li><i style= color:#CCCCCC;margin-left:15px; >Post Hidden (someone commented on their own stuff)</i></li>");
    $("h6.uiStreamHeadline .wallArrowIcon").closest("li").html("<li><i style= color:#CCCCCC;margin-left:15px; >Post Hidden (Wall-to-Wall post)</i></li>");
    $("h6.uiStreamHeadline:contains( commented on a )").closest("li").html("<li><i style= color:#CCCCCC;margin-left:15px; >Post Hidden (people commenting on something i probably don t care about)</i></li>");

这些功能都很好, 当页面加载时可以替换这些功能。 但是, 相关函数不会更新, 直到我与它互动。 例如, 如果我把鼠标放在上面, Facebook的小弹出器出现后, 页面上的名字是“ 每个人的Funny- Pictures- for- person ”, 那么这个名称会变成“ 其他人 ” 。 我不知道为什么它不会在页面加载时改变。 我不知道它是否是一个时间问题, 但我不确定该做什么, 我不知道为什么其余的都有用 。

我理解有关函数与大多数其它函数稍有不同。 其余的则使用 closest ("li") 替换整个员额, 而我遇到麻烦的那个只是为了替换它所选择的 lt; a> a></ a> 标签中的内 HTML 或文字 。

提前感谢任何帮助。

我已想出解决问题的可行办法:

布洛克·亚当斯在下面提到,我试图选择的识别属性在与该元素互动之前并不存在。所以,我必须找到在页面载荷上的东西。我检查了该元素的内置 HTML,发现我想选择的一个元素是唯一一个没有等级属性的元素, 要么是在与之互动之前, 要么是在与之互动之后。 因此,我得出了以下看来效果不错的元素:

$("h6.uiStreamHeadline:contains( shared ) a:not([class])").html("someone else");

I & lt;3 JQuery XD

最佳回答

问题在于Facebook没有指派一个ID(和一堆其他粗鲁的人)到该链接上, 直到你鼠标了它!

解决方案: 永远不要使用 Facebook! ... er, I mean, try a different way for that filter. 也许:

$("h6.uiStreamHeadline:contains( shared ) > div.actorName > a").html("someone else");
问题回答

暂无回答




相关问题
getGridParam is not a function

The HTML: <a href="javascript:void(0)" id="m1">Get Selected id s</a> The Function: jQuery("#m1").click( function() { var s; s = jQuery("#list4").getGridParam( selarrrow )...

selected text in iframe

How to get a selected text inside a iframe. I my page i m having a iframe which is editable true. So how can i get the selected text in that iframe.

jQuery cycle page with links

I am using the cycle plugin with pager functionality like this : $j( #homebox ) .cycle({ fx: fade , speed: fast , timeout: 9000, pager: #home-thumbs , ...

jquery ui dialog opens only once

I have a button that opens a dialog when clicked. The dialog displays a div that was hidden After I close the dialog by clicking the X icon, the dialog can t be opened again.

jConfirm with this existing code

I need help to use jConfirm with this existing code (php & Jquery & jAlert). function logout() { if (confirm("Do you really want to logout?")) window.location.href = "logout.php"; } ...

Wrap text after particular symbol with jQuery

What I m trying to do, is wrap text into div inside ll tag. It wouldn t be a problem, but I need to wrap text that appears particularly after "-" (minus) including "minus" itself. This is my html: &...