小编use*_*716的帖子

如何防止jQuery事件冒泡到父元素?

我有一系列嵌套的UL,如下所示:

<ul class="categorySelect" id="">
  <li class="selected">Root<span class='catID'>1</span>
    <ul class="" id="">
      <li>First Cat<span class='catID'>2</span>
        <ul class="" id="">
          <li>cat in First<span class='catID'>3</span>
            <ul class="" id="">
            </ul>
          </li>
          <li>another cat in first<span class='catID'>4</span>
            <ul class="" id="">
            </ul>
          </li>
        </ul>
      </li>
      <li>cat in root<span class='catID'>5</span>
        <ul class="" id="">
        </ul>
      </li>
    </ul>
  </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

然后我有jQuery,我打算将"selected"类移动到不同的LI click():

$(document).ready(function () {

    $("ul.categorySelect li").click(function () {
        $("ul.categorySelect li.selected").removeClass("selected");
        $(this).addClass("selected");
    })

});
Run Code Online (Sandbox Code Playgroud)

当我测试它时,起初它似乎根本没有工作.我alert("click")在click事件函数中添加了一个,我能够告诉它它正在工作,但是在子LI和父LI上都注册了click事件,这意味着最终根LI总是最终被选中.

有没有办法阻止click()事件在父LI上执行?

html javascript css jquery

5
推荐指数
1
解决办法
4061
查看次数

javascript - 从.split()生成的Google Chrome混乱数组

给出以下字符串:

var str = "one,two,three";
Run Code Online (Sandbox Code Playgroud)

如果我在逗号上拆分字符串,我通常会得到一个数组,如预期的那样:

var arr = str.split(/\s*,\s*/);
Run Code Online (Sandbox Code Playgroud)

麻烦的是,在Google Chrome(适用于Mac)中,它会向阵列添加额外的属性.

Chrome调试器的输出:

arr: Array
    0: one
    1: two
    2: three
    constructor: function Array()
    index: undefined
    input: undefined
    length: 3
Run Code Online (Sandbox Code Playgroud)

因此,如果我使用循环遍历数组for/in,它将迭代新属性.特别是inputindex属性.使用hasOwnProperty似乎没有帮助.

修复方法是for根据数组的长度进行循环.我仍然想知道是否有人深入了解Chrome的行为方式.Firefox和Safari没有这个问题.

javascript arrays split google-chrome properties

4
推荐指数
1
解决办法
1680
查看次数

如何覆盖jquery的show()和hide()函数

问题的简短版本:见标题

问题的长版:我在代码中广泛使用了jquery的show()和hide()函数,只是遇到了一些问题:它们分别通过将元素的display属性更改为'block'或'none'来工作,如果你有一些显示内容:内联然后隐藏并显示它,你已经将它的显示更改为阻止,这在几种情况下搞砸了布局.

在我的代码中,每当我想要隐藏某些东西时,我会给它一个"隐藏"的类.这个类只是{display:none}.我希望更改显示并隐藏以删除或添加此类,而不是直接更改显示属性,这样如果您添加隐藏类然后再次删除它(即隐藏并显示某些内容),那么它又回到了如何它是从一开始就开始的(因为添加一个类会覆盖属性而不是直接更改它们).像这样的东西(这是一个小小的pseucodey,因为我不知道如何正确设置功能 - 让我们假设'this'是显示/隐藏被调用的对象)

function show(){
  this.removeClass("hidden");
} 

function hide(){
  this.addClass("hidden");
} 
Run Code Online (Sandbox Code Playgroud)

如何以及在哪里重写jquery方法?(我不是javascript专家)

谢谢 - 最大

jquery

4
推荐指数
1
解决办法
5319
查看次数

计算<div>的数量

是否可以使用jQuery来计算div元素的数量?

我有这个代码:

<div id = "center">
  <div class ="name">text text</div>
  <div class ="name">text text text ... </div>
  <div class ="name">text ...</div>
</div>
Run Code Online (Sandbox Code Playgroud)

得到数字:3

javascript jquery

4
推荐指数
2
解决办法
2万
查看次数

jQuery返回一个被点击的div的数字(eq)

所以我正在为一个允许客户端每页创建多个jQuery滚动条的项目构建一个jQuery插件 - 我正专注于这个问题的前端.

在准备好文档时,它将告诉滑块div进行初始化.然后,这将获取滑块中的图像数量,并为每个图像创建一个小圆圈按钮,以便用户可以单击一个圆圈并直接滑动到相应的图像.

我正在寻找能够返回该.eq()圈子价值的东西,以便知道他们想要去哪个幻灯片.$(this).eq()不起作用.

html jquery

4
推荐指数
1
解决办法
5833
查看次数

jQuery.ajax()中的范围问题

我通过将标签字符串保存到变量中来缓存标签字符串,但遇到了奇怪的范围问题.我知道这与闭包有关,但我似乎无法弄清楚究竟是什么问题.

info_lbl = {};

$("#chkCorporateGift").click(function(){
    var type = $(this).is(":checked") ? "Corporate" : "Personal";
    if(!info_lbl.hasOwnProperty(type)){
        $.ajax({
            url: svc_og + "Get" + type + "InformationLabel",
            success: function(data){
                info_lbl[type] = data;
            }
        });
    }
    $("#lblInformationType").text(info_lbl[type]);
});
Run Code Online (Sandbox Code Playgroud)

lblInformationType标签未在第一次调用GetCorporateInformationLabel或GetPersonalInformationLabel方法时设置.在第一次调用每个人之后,标签的值正在改变.有人可以解释为什么会出现这种情况吗?当我使用Firebug并设置断点时$("#lblInformationType").text(info_lbl[type]);,info_lbl[type]包含正确的值,并且前两个调用的一切正常.

javascript ajax jquery closures

4
推荐指数
1
解决办法
106
查看次数

jQuery.get()失败并带有完整的url

var url = "/example/somelink";
jQuery.get( url, params, callback);  //works fine

var url = "http://www.yahoo.com";
jQuery.get( url, params, callback);  //fails!
Run Code Online (Sandbox Code Playgroud)

当我提供网站的完整网址时,get()会失败...知道为什么会发生这种情况?

谢谢

javascript jquery

4
推荐指数
1
解决办法
786
查看次数

如何用jQuery替换父div的内容

我有这个html代码:

<div id="ht_key" class="ht_all">
    <div class="ht_bottom">
        <div class="ht_bottom_p">
            <span class="ht_bottom_o">
                <a href="javascript:;" onclick="htrc('key');\">click</a>
            </span>
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

该代码可能会在页面中出现 5-6 次(或更多)。我想从 htrc 函数中将 #ht_key div 替换为其他一些内容。(“密钥”在每种情况下都不同)。问题是,如果页面中有 2 个具有相同“key”的 div,那么当 htrc 函数发生时,只有第一个 #ht_key div 被替换。因此,由于我需要替换单击 a(从中调用 htrc 函数)的 #ht_key div 的内容,有没有办法替换其父 div(具有 id 的父 div)?

我尝试过父级和最接近的,但没有一个返回结果。您有什么建议吗?

谢谢!

jquery parent

4
推荐指数
1
解决办法
1481
查看次数

jQuery/JS - 如何比较两个日期/时间戳?

我有两个日期/时间戳:

d1 = 2011-03-02T15:30:18-08:00 
d2 = 2011-03-02T15:36:05-08:00
Run Code Online (Sandbox Code Playgroud)

我想在上面比较两者:

if (new Date(d1) < new Date(d2)) {alert('newer')}
Run Code Online (Sandbox Code Playgroud)

但这似乎没有正常工作.有没有办法比较日期和时间.?谢谢

更新:

console.log(d1 + ' ' + d2);
console.log(new Date(d1) > new Date(d2))


2011-03-02T15:30:18-08:00 2011-03-02T15:36:05-08:00
false
2011-03-02T15:30:18-08:00 2011-03-02T15:30:18-08:00
false
2011-03-02T15:30:18-08:00 2011-03-02T14:15:04-08:00
false
Run Code Online (Sandbox Code Playgroud)

javascript jquery

4
推荐指数
1
解决办法
3万
查看次数

了解spawn的返回值

我开始使用Erlang和可以使用一个小的帮助申请时的PID从返回理解的不同结果spawn/3process_info/1方法.

给定这个简单的代码,其中a/0导出函数,它只是调用b/0,等待消息:

-module(tester).
-export([a/0]).

a() ->
    b().
b() ->
    receive {Pid, test} ->
        Pid ! alrighty_then
    end.
Run Code Online (Sandbox Code Playgroud)

...请帮助我理解shell输出的不同原因:


例1:

在此,current_functionPid被示出为tester:b/0:

Pid = spawn(tester, a, []).

process_info( Pid ).

> [{current_function,{tester,b,0}},
    {initial_call,{tester,a,0}},
    ...
Run Code Online (Sandbox Code Playgroud)

例2:

在此,current_functionprocess_info/1被示出为tester:a/0:

process_info( spawn(tester, a, []) ).

> [{current_function,{tester,a,0}},
    {initial_call,{tester,a,0}},
    ...
Run Code Online (Sandbox Code Playgroud)

例3:

在此,current_functionprocess_info/1被示出为tester:a/0,但current_functionPidtester:b/0:

process_info( Pid = …
Run Code Online (Sandbox Code Playgroud)

erlang variable-assignment argument-passing spawn

4
推荐指数
2
解决办法
2339
查看次数