我在获取用户选择的单词的单词编号时遇到麻烦
例如
我有一个简单的段落,其中包含两个单词Hi和bob
Pool {
_events: [Object: null prototype] {},
_eventsCount: 0,
_maxListeners: undefined,
config:
PoolConfig {
acquireTimeout: 10000,
connectionConfig:
ConnectionConfig {
host: 'localhost',
port: 3306,
localAddress: undefined,
socketPath: undefined,
user: 'root',
password: 'password',
database: 'mydatabasename',
connectTimeout: 10000,
insecureAuth: false,
supportBigNumbers: false,
bigNumberStrings: false,
dateStrings: false,
debug: undefined,
trace: true,
stringifyObjects: false,
timezone: 'local',
flags: '',
queryFormat: undefined,
pool: [Circular],
ssl: false,
multipleStatements: false,
typeCast: true,
maxPacketSize: 0,
charsetNumber: 33,
clientFlags: 455631 },
waitForConnections: true,
connectionLimit: 10,
queueLimit: 0,
database: 'eventx' },
_acquiringConnections: [],
_allConnections: [],
_freeConnections: [],
_connectionQueue: [],
_closed: false }
pool connection : [object Object]
因此,逻辑上Hi = 1,而bob = 2。现在,假设用户选择了bob,我希望 Program 将数字2记录到控制台,现在假设用户选择了Hi,则应将数字1记录到控制台。安慰。此外,该程序还可以处理任意数量的单词。
任何帮助将不胜感激
谢谢
答案 0 :(得分:1)
基本上,您必须进行预处理,每个单词先给一个数字。 然后,使每个单词成为“ span”并分配事件。
(在我的示例中,我假设您的“选择”表示“点击”并使用了jQuery)
<ng-template pTemplate="rowexpansion">
<tr>
<td [attr.colspan]="columns.length + 1">
<div class="ui-g ui-fluid" style="font-size:16px;padding:20px">
<p-table>
...
</p-table>
</div>
</td>
</tr>
</ng-template>
var container = $("#text");
var words = container.text().split(" ");
var count = 1;
container.html("");
words.forEach(function (word) {
var span = $("<span></span>");
span.data("number", count++);
span.text(word + " ");
span.click(function () {
console.log($(this).data("number"))
});
container.append(span)
});
答案 1 :(得分:-1)
您可以将单词拆分成一个数组,然后使用indexOf获取索引:
var text = document.getElementById("text").innerText.split(' ')
var userInput = prompt()
console.log(text.indexOf(userInput) + 1)
<p id="text">Hi bob</p>
我添加了1,因为您想要一个易于阅读的版本,如果我不加注释,它将认为“ hi”是第0个字。
编辑:添加了提示。