Javascript 使用jQuery在不同的'div'上标记一行
我有两个水平堆叠的Javascript 使用jQuery在不同的'div'上标记一行,javascript,jquery,html,css,select,Javascript,Jquery,Html,Css,Select,我有两个水平堆叠的divs布局。 每个元素都包含一行元素 如何使用带有jQuery的鼠标使这些行中的一行成为可选行(以便可以将它们复制到剪贴板,在本例中:item1item2)? 充其量,用户不应该看到差异,只需执行正常过程(鼠标按下>鼠标移动>鼠标释放) 不幸的是,我无法编辑Html <div style="float:left;"> <p>Item 1</p> <p>Item 1</p> <p>I
div
s布局。
每个元素都包含一行元素
如何使用带有jQuery的鼠标使这些行中的一行成为可选行(以便可以将它们复制到剪贴板,在本例中:item1item2
)?
充其量,用户不应该看到差异,只需执行正常过程(鼠标按下>鼠标移动>鼠标释放)
不幸的是,我无法编辑Html
<div style="float:left;">
<p>Item 1</p>
<p>Item 1</p>
<p>Item 1</p>
<p>Item 1</p>
<p>Item 1</p>
</div>
<div>
<p>Item 2</p>
<p>Item 2</p>
<p>Item 2</p>
<p>Item 2</p>
<p>Item 2</p>
</div>
项目1
项目1
项目1
项目1
项目1
项目2
项目2
项目2
项目2
项目2
如果您现在尝试这样做,它会标记每列的一半。
您将表格数据放入两个单独的分隔符中。无论如何设置分隔符的样式,在进行文本选择时,段落永远不会并排。如果无法更改标记,可以将其转换为表:
/* Count the total number of children within the first divider.
* This assumes both will always be equal. */
var total = $('div:first-child').children().length,
/* Create the table. */
table = $('<table><tbody></tbody></table>');
/* Loop from 0 to total. */
for(i=0;i<total;i++)
{
/* Create the table row. */
var tr = $('<tr></tr>'),
/* Index will be i + 1, store this as new variable. */
j = i + 1;
/* Loop through each matching nth-child. */
$('div p:nth-child(' + j + ')').each(function() {
/* Create the table cell. */
var td = $('<td></td>');
/* Set the cell's text to the paragraph's text. */
td.text($(this).text());
/* Append cell to row. */
td.appendTo(tr);
})
/* Append row to table's tbody. */
tr.appendTo($('tbody', table));
}
/* Append table to body. */
table.appendTo('body');
/* Remove dividers. */
$('div').remove();
/*计算第一个分隔符中的子项总数。
*这假设两者总是相等的*/
var total=$('div:first child').children().length,
/*创建表*/
表=$('');
/*从0循环到总计*/
对于(i=0;i请创建一个),我不想访问您的站点。我认为这在DOM结构中是不可能的。您说您不能编辑HTML–但是由于您可以使用jQuery,您可以更改DOM。对不起,“可标记”到底是什么意思?我也没有在你的页面上看到任何突出显示的内容,因为根本没有js。你能用你到目前为止的代码做一个标记吗?仅供参考,你的演示页面上的样式标签应该在页面的头部。