尝试使用jQuery检索URL的一部分;它是有效的,但是字符串是无效的;t返回
Trying to retrieve part of URL with jQuery; it works, but a string isn't returned
背景信息:我正在设置一种方法,在我的论坛上嵌入SoundCloud的HTML5小部件。小部件本身会根据其高度调整其内容。正如您在下面的jsFiddle示例中看到的,我设置了它,这样当一个小部件悬停在上面时,它的高度从166px扩展到450px,这会触发小部件调整其内容。
我试图解决的问题是,所有SoundCloud小部件都会折叠起来,无论它们是否是集合/播放列表的一部分。如果它不是一个集合/播放列表的一部分,那么当悬停在上面时,结果是一个很大的空白区域。
我注意到,如果一个声音是集合/播放列表的一部分,那么/sets/就会出现在URL中。我正在尝试修改我的脚本,以便它检查该字符串的URL。如果它找到了它,请允许小部件在悬停时展开;如果没有,不要让它在悬停时膨胀。
目前我遇到了一个障碍。它有效,但搜索返回的是行中的位置,而不是我需要的字符串。我添加了一点代码来演示:
http://jsfiddle.net/TYWUf/11/
JS没有额外的代码:
jQuery(document).ready(function () {
var soundSrc = $(".soundCloudEmbed").attr("src");
var isSet = (soundSrc).search('%' + '2Fsets' + '%' + '2F');
$(".soundCloudEmbed").hover(
function () {
$(this).addClass("soundCloudHover");
}, function () {
$(this).removeClass("soundCloudHover");
});
});
(如果我没有问对这个问题,请告诉我)
看看这个,我想这就是你想要的:
http://jsfiddle.net/dSX5g/
jQuery(document).ready(function () {
$('.soundCloudEmbed').each(function () {
var soundSrc = $(this).attr("src");
var isSet = (soundSrc).search('%' + '2Fsets' + '%' + '2F');
if (isSet > -1) {
$(this).hover(function () {
$(this).addClass("soundCloudHover");
}, function () {
$(this).removeClass("soundCloudHover");
});
}
});
});
每个嵌入项目都需要单独评估。
您手动将类设置为html属性,然后使用JQuery选择器展开该类中的任何内容。您应该首先循环iframe,并根据它是否是集合的一部分来设置不同的类。这样,JQuery选择器将只扩展那些作为集合的类。
相关文章:
- 如何有效地将游戏数据存储在URL查询字符串中
- 如何在javascript中将字符串转换为有效日期
- Javascript:字符串中有效的基于数组的替换
- 为什么字符串与数字的比较在Javascript中有效
- 在保持字符串同等有效的情况下对其进行视觉加扰
- 获取字符串中最后一个换行符的最有效方法是什么
- 通过字符串最有效的方法是什么;s字符
- 检查字符串是否为有效的html标记
- jQuery.parseJSON()未在Windows服务器上解码有效的Json字符串
- 从任何jquery选择器字符串创建元素的最有效方法
- Javascript正则表达式,用于检查字符串是否为有效数字
- 正在将字符串转换为有效的JSON对象
- 使用有效的端口号和查询字符串验证URL
- 具有少量特殊字符的字符串的有效正则表达式
- 如何测试字符串是否有效日期是否使用时刻
- XMLHttpRequest POST 请求到当前 URL 的有效 URL 字符串
- 在 JavaScript 中,数组如何引用到空字符串 + true 中是一个有效字符
- 什么在技术上更有效来匹配预期的字符串
- 创建一个比这更有效的长字符串
- 将字符串转换为在json中使用的有效字符串