几个小时以来一直在努力解决这个简单的选择器问题,并且必须忽略一些显而易见的事情.我有一个<ul>在其中一些<li>■找嵌套<ul>秒.每个都<li>包含一个链接,当点击它时我想执行一个函数(而不是导航),但重要的是,这应该只发生在父包含的链接<ul>而不是嵌套中可能存在的任何链接<ul>.简单的你会想:
HTML:
<ul>
<li>
<a href="dontleavethis.page">A link</a>
<ul>
<li><a href="navigate.there">A nested link</a></li>
<li><a href="navigate.somewhere">Another nested link</a></li>
</ul>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
jQuery的:
$('li:has(ul) a').click(function() {
bla bla bla...
return false;
});
Run Code Online (Sandbox Code Playgroud)
事实是,无论我如何表达我的选择器,我都无法阻止嵌套中的链接<ul>触发点击处理程序.它们显然":has(ul)"与选择器的条件不匹配,但处理程序仍然因某种原因而附加.我在这做错了什么?
有人可以告诉我为什么这个脚本不起作用?它应该工作,但它没有,我正确得到id,但Divs没有正确显示.我的想法是根据点击显示一个div,并隐藏其他Div.
脚本
$(document).ready(function() {
$("a").live("click", function(){
var idV = $(this).attr("id");
alert(idV);
$("#"+idV+"div").css("display","block");
return false;
});
});
Run Code Online (Sandbox Code Playgroud)
HTML
<a href="#" id="solution1">Solution 1</a>
<a href="#" id="solution2">Solution 2</a>
<a href="#" id="solution3">Solution 3</a>
<a href="#" id="solution4">Solution 4</a>
<br />
<div id="solution1" style="display:none;">Solution 1</div>
<div id="solution2" style="display:none;">Solution 2</div>
<div id="solution3" style="display:none;">Solution 3</div>
<div id="solution4" style="display:none;">Solution 4</div>
Run Code Online (Sandbox Code Playgroud) 我正在研究一个所有行至少有一个类的表.有些行有两个类,有些行有一个类和一个id.
我有一个简单的点jquery隐藏和显示行onclick,但是当设置所有属性时,没有任何反应.
如果我删除其他属性,以便只使用jquery脚本中的那些属性,则它全部按计划工作,但由于不再应用样式,因此看起来不正确.
有谁知道这里发生了什么?
这是jquery
`$("td.toggleguest").click(function(){
var delegaterow = $(this).parent().attr('id');
var rowspl = delegaterow.split('_');
var rownum = rowspl[1];
$('tr.subrow_'+rownum).toggle();
});
Run Code Online (Sandbox Code Playgroud)
`
从源代码复制的示例HTML标记:
<tr id="delegaterow_7" class="light_row">
<td class="toggleguest">Some Content</td>
<td>Some Content</td>
<td>Some Content</td>
<td>Some Content</td>
<td>Some Content</td>
<td>Some Content</td>
<td>Some Content</td>
</tr>
<tr class="light_row" class="subrow_7">
<td colspan="6">Some Content</td>
<td>Some Content</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
该表有人行(每个都有一个id为row_X),有些行有guest.guest行被赋予类名'subrow_X',其中X匹配父行的ID.
我不想用桌子来做这件事,但这是我无法控制的.
任何建议将不胜感激.
谢谢.
我想要两个不同的HTML元素,它们处于相同的嵌套级别,以具有相同的CSS属性值.这种浪费的语法有替代方法吗?
.level1 .level2 .level3 element1 { /*rules*/ }
.level1 .level2 .level3 element2 { /*rules*/ }
Run Code Online (Sandbox Code Playgroud)
我刚在想
.level1 .level2 .level3 element1, .level1 .level2 .level3 element2 { /*rules*/ }
Run Code Online (Sandbox Code Playgroud)
......但这看起来令人困惑,并没有减少太多.
是定义新类的最佳方法吗?
好吧,即使选定的ID具有选定的类,我也会尝试将某些内容设置为不同的高度.我有以下代码.
function myfunction() {
if ($('#homebutton').hasClass("active"));
{
$('#content').animate({height: "240px",opacity: 1}, 100 , hideLoader());
}
if ($('#showbutton').hasClass("active"));
{
$('#content').animate({height: "79px",opacity: 1}, 200 , hideLoader());
}
if ($('#aboutbutton').hasClass("active"));
{
$('#content').animate({height: "527px",opacity: 1}, 300 , hideLoader());}
if ($('#contactbutton').hasClass("active"));
{
$('#content').animate({height: "1040px",opacity: 1}, 400 , hideLoader());
}
}
Run Code Online (Sandbox Code Playgroud)
无论我点击什么,它都会在彼此之后将动画链接起来,结果是1040px高,我做错了什么?
试着改变它
{if ($('#homebutton').hasClass("active"));
$('#content').animate({height: "240px",opacity: 1}, 100 , hideLoader());
}
Run Code Online (Sandbox Code Playgroud)
绝对没有效果
嗨,我正在尝试制作一个将条纹效果添加到无序列表的函数,到目前为止,我已经获得了以下内容,但无法确定选择器的工作方式。
(function($) {
$.fn.stripe = function(){
this.$("li:even").css("background-color","#f00");
};
})(jQuery);
$("list_id").stripe();
Run Code Online (Sandbox Code Playgroud) 如果我有一个表,如下例所示:
<table class="detailView">
<tr>
<td>Value1</td>
<td>value2</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
如果表格是什么,我如何设置<tr>和<td>元素的样式? class="detailView"
我有以下场景:
我有一个div = "#div1"用html编码的.我已经使用来自脚本服务的一些数据填充了这个div [这意味着"a"最初不存在],并且数据被附加到此div作为
<a href=''>data1</a>
<a href=''>data2</a>
Run Code Online (Sandbox Code Playgroud)
我有一个jQuery选择器,如:
$(document).ready(function(){
$("#div1 a").click(function(){
// do something
});
});
Run Code Online (Sandbox Code Playgroud)
这不是选择元素.我该如何克服这个问题?
当该链接的href指向具有特定扩展名的文件时,我想将click()事件应用于页面上的所有链接.适用扩展名列表徘徊在30左右,未来可能会有所增长(但绝不会超过100).
我的第一个倾向是像这样构造事件绑定:
$("a[href$=avi],
a[href$=ppt],
a[href$=rtf],
// ...snip a bunch more of these....
a[href$=pdf],
a[href$=xml]").click(function() {
// Do something
});
Run Code Online (Sandbox Code Playgroud)
这疯了吗?
我做的每一次搜索都只包含这样的变量解决方案:$('#div'+ id)
我需要删除一行.
var row = $(this).parent().parent().parent().find('tr#' + id).html();
Run Code Online (Sandbox Code Playgroud)
我想使用"行"名称而不是"$(this)... remove();"
css-selectors ×10
jquery ×8
css ×2
html ×2
performance ×2
html-lists ×1
html-table ×1
javascript ×1
list ×1
nested ×1
selector ×1
variables ×1