我正在使用jQuery quicksand插件.我需要获取所单击项的data-id并将其传递给webservice.如何获取data-id属性?我正在使用该.on()方法重新绑定已排序项的click事件.
$("#list li").on('click', function() {
// ret = DetailsView.GetProject($(this).attr("#data-id"), OnComplete, OnTimeOut, OnError);
alert($(this).attr("#data-id"));
});Run Code Online (Sandbox Code Playgroud)
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<ul id="list" class="grid">
<li data-id="id-40" class="win">
<a id="ctl00_cphBody_ListView1_ctrl0_SelectButton" class="project" href="#">
<img src="themes/clean/images/win.jpg" class="project-image" alt="get data-id" />
</a>
</li>
</ul>Run Code Online (Sandbox Code Playgroud)
拥有以下html代码段
<div class="something">
<p>Some text</p>
</div>
<div class="somethingElse">
<p>some other text</p>
</div>
Run Code Online (Sandbox Code Playgroud)
我认为以下jquery片段是相同的(将具有相同的结果):
$(".something").find("p").css("border", "1px solid red");
$("p", ".something").css("border", "1px solid red");
Run Code Online (Sandbox Code Playgroud)
我的问题是,一个片段是否优于另一个片段并且应该被使用
我想在下拉<select>列表上添加事件触发器。示例(jsFiddle):
$( document ).ready(function() {
$('.lorem').click(function() {
alert('ipsum');
});
});Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select>
<option class="lorem">1</option>
<option class="lorem">2</option>
</select>Run Code Online (Sandbox Code Playgroud)
使用Firefox,当我单击它时,它会正常触发。但是在webkit(Chrome / Safari等)上,它不起作用。为什么?
我正在<select>通过jQuery append()函数创建一个动态元素,但我似乎无法获得正确的选定值.我总是得到第一个选项,即1.我正在尝试配置Aloha编辑器,这可能与问题有关.
这是附加在侧栏中的select元素.
$('.aloha-sidebar-inner').append('<select id="columns"><option value="1">1 Column</option><option value="2">2 Columns</option><option value="3">3 Columns</option><option value="4">4 Columns</option></select>').trigger('create');
Run Code Online (Sandbox Code Playgroud)
如上所述,我使用Aloha Editor,因此jquery看起来像这样:
Aloha.ready(function() {
$('.aloha-sidebar-inner').append('<button id="add-section" class="btn aloha-sidebar-btn sidebar-item" type="button" onclick="addSection(document.getElementById(\'articles\').value);">Add Section</button>');
$('.aloha-sidebar-inner').append('<p>Number of Columns:</p>');
$('.aloha-sidebar-inner').append('<select id="articles" class="sidebar-item"><option>1</option><option>2</option><option>3</option><option>4</option></select>');
});
function addSection() {
var idCounter = 0;
alert($('#articles').val());
};
Run Code Online (Sandbox Code Playgroud)
警报窗口保持返回值1.可能存在问题,因为我动态创建了select元素?
我尝试过使用$( "#columns option:selected" ).val();但仍然没有.我甚至尝试过使用text(),但仍然没有; alert继续返回第一个选项.
我也试过使用$('#add-section').click或$('#articles').change听众,但他们似乎没有回应.
我知道标题不是很具描述性,但我希望我能在这里澄清我的问题:我有多个相同的选择下拉列表.现在,我不想做的是从其他所有下拉列表中删除一个选项.这是一个例子:
我选择了'a','b'和'c'.所有这些都包含以下选项:
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
Run Code Online (Sandbox Code Playgroud)
如果我现在在选择列表'a'中选择选项'1',我想从列表'b'和'c'中删除选项'1'和JQuery.
编辑:这基本上就是我所拥有的:http://jsfiddle.net/j91p8eo5/
有人有任何想法吗?