我想选择<td>仅包含复选框的元素.我想用一个选择器(不使用选择器外的链接或逻辑)来执行此操作,以便我可以使用带有jQuery函数的选择器,如live或delegate.
更大的图片是我想在这些<td>s 上监听点击事件并将点击事件传递给复选框,从而创建更大的点击区域.这很重要,因为<tr>当用户点击并错过复选框时,我也不想激活不同的点击事件.
我创建了一个带有示例场景的jsfiddle:http://jsfiddle.net/ytA3X/
这是我开始使用的不起作用.换句话说,选择任何具有复选框但没有任何复选框的td元素.
$('td:has(:checkbox):not(:has(:not(:checkbox)))')
=> []
Run Code Online (Sandbox Code Playgroud)
:not(:has(...))适用于我的jsfiddle示例.
:has(:not(...))适用于我的jsfiddle示例.
:not(:has(:not(...))) 似乎总是选择什么.
是否有一种不同的方式我可以选择只有一个复选框的td元素,或者我做错了什么?
请解释为什么在这个表达式中,替换只在字符串的末尾发生一次.
"1 \n3 \n5 ".replaceAll(" +$", "x") // => "1 \n3 \n5x"
Run Code Online (Sandbox Code Playgroud)
根据Java 7文档for Pattern,
$应该匹配一行\z的结尾,并匹配输入的结尾(字符串).
我的目标是替换字符串中每行末尾的尾随空格.该"x"更换仅仅是一种方式来更好地显示被替换的东西.
我认为正则表达式和String.replaceAll应该能够做到这一点.如果replaceAll无法执行此操作,请提供简明的替代方案.
我正在尝试测试我的rails 2.3.4应用程序上的路由.有几个站点解释了如何测试路由,包括rails docs,但我按照说明收到错误.
首先,我假设这些测试可以在相关的单元测试文件中完成.似乎没有更明显的地方,也没有任何文件具体说明.
也就是说,这是一个浓缩版本 test/unit/TitlesTest.rb
require File.dirname(__FILE__) + '/../test_helper'
class TitleTest < Test::Unit::TestCase
# include ActionController::Assertions::RoutingAssertions
def test_routes
assert_routing "games", { :controller => "titles", :section => "games", :action => "index", :id => nil }
end
end
Run Code Online (Sandbox Code Playgroud)
rake test:units 失败并出现错误:
NoMethodError: undefined method `assert_routing' for #<TitleTest:0x7f387232ec98>
/test/unit/title_test.rb:7:in `test_routes'
Run Code Online (Sandbox Code Playgroud)
我在Rails API中看到了assert_routing的定义ActionController::Assertions::RoutingAssertions,所以我尝试包含该模块,只是让它在其他地方失败.
请注意include上面代码示例中的注释行.
NoMethodError: undefined method `clean_backtrace' for #<TitleTest:0x7fd895fadf00>
/test/unit/title_test.rb:7:in `test_routes'
Run Code Online (Sandbox Code Playgroud)
clean_backtrace 是ActionController :: TestCase :: Assertions中定义的另一种测试方法.
我没有得到任何谷歌搜索结果这些错误 - 没有其他人似乎有这个问题.如果我在新生成的rails应用程序中重新创建场景,也会出现问题.我不认为我应该在我的测试用例中包含这些模块.这可能有什么问题?