gpt4 book ai didi

Jquery:选择元素 A(如果存在)的惯用方法,否则选择元素 B?

转载 作者:行者123 更新时间:2023-12-01 01:19:51 27 4
gpt4 key购买 nike

我正在使用 JQuery 编写 GreaseMonkey 脚本。
有时我要修改的站点会在 TD 中显示信息,因此:

<center><table><tr><td>
Something interesting here.</td></tr>....</table></center>

而有时它会在同一表结构中的一个(或多个)P 标记中显示内容,因此:

<center><table><tr><td>
<p>Other text about the same interesting thing.
<p>and maybe some more stuff too.</td></tr>...</table></center>

现在我正在使用两个不同的选择器来选择 <p><td>相比,但我想知道是否有一种好方法可以在单个 Jquery 选择器中仅选择 P 标记(如果存在)和 TD,否则在单个 Jquery 选择器中选择,因为我想要附加的内容在这两种情况下都是相同的。

(如果我只是附加到 TD,无论如何,我的添加位置会根据 P 标记的存在/不存在而变化,因此我将确保位置一致性。)

最佳答案

是的,您可以通过扩展 jQuery 来做到这一点。

将其放在 GM 文件的顶部附近:

$.fn.substituteIfPresent = function (tagName)
{
return this.map (function ()
{
var childArray = $(this).children (tagName);

if (childArray.length)
return childArray[0];
else
return this;
});
}


然后你可以通过以下方式获取所需的元素:

X = $("center > table > tbody > tr > td").substituteIfPresent ('p');

//-- Note that X is a standard jQuery object, the following works:
X.css ('border', '1px solid green');


此版本的 substituteIfPresent() 仅返回第一个 p 标记(如果存在)。

关于Jquery:选择元素 A(如果存在)的惯用方法,否则选择元素 B?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4210519/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com